Googleアカウントで取得したAnalytics用タグを、Dokuwikiの設定ページから指定することで、分析用のタグを埋め込んでくれるプラグイン。
まぁ、無くても適当なdokuwikiのphpソースにscriptタグを直に埋め込んでもいけるんだけど、あったらあったで便利。
本体や他のプラグインとの干渉の有無はよくわからないが、本プラグイン「Last updated on 2020-11-03」のバージョンにおいて、javascriptエラーが発生した。
document.body is null
dokuwikiのjavascriptは、本体や各プラグインが使うものが全てphpによってまとめられた状態で、…/url_to_dokuwiki/lib/exe/js.php
で生成される。
そのため、一箇所のエラーによりjavascriptが止まると、他の様々な部分でもエラーや影響が出る。
エラー箇所の記述から元となったスクリプトを特定すると、…/path_to_dokuwiki/lib/plugins/googleanalytics/script.js
の中で発生していた。
document.body.appendChild(script);
でスクリプトを埋め込もうとしている行でエラーを起こしていた。
なので、まぁ緊急的な対策としては、DOMが読み込まれるまで待ってから実行させるように変更したら直ったが、 次にこの部分が変わらないまま本プラグインが更新されると元に戻るので、根本的ではないね。
// document.body.appendChild(script); // ↓ document.addEventListener('DOMContentLoaded', function() { document.body.appendChild(script); });
なお、この記述は、新しい G- で始まるタグを設定する際のもので、古い UA- タイプのタグを埋め込む場合は実行されない。