guess-js/guess: Libraries & tools for enabling Machine Learning driven user-experiences on the web のREADME.md
に、
存在を
ただ、
サイトに
前提
以下の
OS
cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)
アプリケーション
Django のアプリケーションです。 フロントエンドは webpack を 使っています。
組み込んだ ソース一式は kemsakurai/mezzanine-theme-clean-blog: Clean Blog based theme for Mezzanine CMS used by に あります。
Turbolinks、 InstantClick の 違い と その 他の ライブラリに ついて
Turbolinks、
Turbolinks、
InstantClick の 違い
Turbolinks は、mouseover での 先読みは 行わず、 InstantClick は mouseover での 先読みを 行うのが 大きな 違いかなと 思いました。
turbolinks “instantclick” · Issue #313 · turbolinks/turbolinks という Issue も あり、 Turbolinks は mouseover での pjax は 対応してなさそうです。
もう1点違いが あるとすると、 head タグ、 body タグ内の element の 読み込み方で、 トラブルの 少なさだと 良く メンテされている Turbolinks の ほうが トラブルは 少な そうかなと 思いました。 その
他の ライブラリに ついて
barba.js vs smoothstate vs swup vs turbolinks | npm trends を見ると ダウンロード具体から、 turbolinks が 一つ 頭抜けて ダウンロードされている ことが わかります。
swup、
barba.js vs smoothstate vs swup | npm trends
個人的にswup
は
正しいかは
SPA とは
インストール
npm で
% npm install turbolinks + turbolinks@5.2.0 added 1 package from 1 contributor in 21.757s
プログラム、 設定ファイルの 変更
以下の
エントリポイントに なる JavaScript の 作成
既に存在する
これは、
また、
このturbolinks:load
内では、
- pjax.js
// ES6 import Turbolinks from 'turbolinks' // Turbolinksで遷移した場合の初期化処理 document.addEventListener('turbolinks:load', function(event) { var url = event.data.url; dataLayer.push({ 'event':'turbolinks_load_pageView', 'virtualUrl': url }); }); // Turbolinks処理開始 Turbolinks.start()
ちなみに、
警告の
Turbolinks を
webpack.config.js の 修正
エントリポイントと/pjax.js
を
module.exports = { mode : "development", context: __dirname + '/src', entry: { pjax: ["./js/pjax.js"], // ページごとに異なるエントリポイントを設ける bundle: ["./js/index.js"] },
HTML template に pjax.js の 記載を 追加
Django からの
owais/django-webpack-loader: Transparently use webpack with django
HTML template 上には
{% render_bundle 'pjax' 'js' attrs='async defer chatset="UTF-8"' %}
Google Tag Manager の 設定変更
初回表示時は、
GTM イベントトリガ で
イベントトリガの
追加
イベント名turbolinks_load_pageView
でイベントトリガを 作成します。 Google Analytics タグ に
イベントトリガ を 追加
タグにイベントトリガを 追加します。 ページビューとは OR 条件でつなげます。 virtualUrl
について イベントトリガで Google Analytics に ページビューを 送信する 場合、 path の 設定が 必要に 思いましたが、 何もせずともうまく 記録してくれました。
virtualUrl
という 変数を 設定すると、 よしなに 計らってくれるのかもしれません。
Google Optimize の 設定変更
Trubolinks 使用時は
以下、
アクティベーション イベント - Optimize ヘルプ
turbolinks_load_pageView
を
“カスタムイベント”
これで
参考
以下、
- The Strange Storage: InstantClickの
導入 - サボり
指定を サボらない - Qiita - Barba.jsを
使って、 metaタグを 動的に 更新する 方法 - Qiita - Barba.js
- gmrchk/swup: Complete, flexible, easy to use page transition library.
- turbolinksで
静的サイトを 擬似SPA化 – JSerに よる 導入Tipsを 紹介 | maesblog - turbolinksチートシート - Qiita
- Turbolinks、
時々Vue.js - Misoca開発者ブログ - Rails 5 Turbolinks and Google Tag Manager – Victor Hugo Bueno – Medium
以上です。
コメント