私のウェブサイトが遅いようです。そのため、パフォーマンスを向上させる方法を検討しました。サーバー側では、すべてが良好に見えます。しかし、クライアントサイドでは、JavaScriptを使用すると処理が遅くなることがあります。ロードスタックを見ると、私は2つの犯人に気付きました。GoogleのPlatform.jsプラグインを使用
最悪の2つの犯罪者はhttps://apis.google.com/js/platform.js
とhttps://www.google-analytics.com/analytics.js
でした。前者は+1ボタン用、後者は分析用に使用します。今の時点で、私はこのようにそれらをロードしています:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '[MyId]', 'auto');
ga('send', 'pageview');
</script>
<script src="https://apis.google.com/js/platform.js" async defer></script>
私はplatform.jsは、GoogleのプラスとGoogle Analyticsを含めた印象の下にありました。だから、私はこのようなものを使用して、単一の外部JSライブラリにダウン凝縮と考えていた:
(function(w,d,s,g,js,fs){
g=w.gapi||(w.gapi={});g.analytics={q:[],ready:function(f){this.q.push(f);}};
js=d.createElement(s);fs=d.getElementsByTagName(s)[0];
js.src='https://apis.google.com/js/platform.js';
fs.parentNode.insertBefore(js,fs);
js.onload=function(){
g.load('analytics');
};
}(window,document,'script'));
これは、少なくともGoogleのプラスプラグインをロードします。しかし、実際に訪問を記録することはありません。 g.loadによってアナリティクスが導入されたようです。しかし、私のIDはどこにも割り当てられていません。同時に、私はplatform.jsバージョンでどこに割り当てるのかは分かりません。
誰でも洞察力を提供できますか?私はできるだけ外部リソースを少なくすることができればと思っています。
ありがとうございます。
「gaが定義されていません(...)」というエラーが表示されます。 'g '変数は' ga(' create '、...)の直前にあります。それはフックですか?アナリティクスのものはどこにありますか? – user70192
私は自分の答えを更新しました。試してみてください。 – macksol
'analytics.js'は' platform.js'に含まれていません。 –