この記事 Google +1タグはページの読み込み時間を1秒増やすことができるため、訪問者が10%減少します。
記事の著者は、スマートタグの読み込みを使用してページの読み込み時間を短縮すると述べています。
誰もが所有権の方法ではなく、これを行うためのオープンソースの方法を知っていますか?
タグ管理は、さまざまなソースからさまざまな目的(Web分析、顧客追跡、広告ネットワーク、ソーシャルメディア統合など)で多くのタグを使用する可能性のある大規模なサイト/組織に価値がありますが、これはスマートjavascriptとは別の問題です読み込み中。 TagmanやEnsightenのような高価なタグ管理システムを使用しなくても、確実にJavaScriptを最適にロードできます。
「スマートタグの読み込み」と考えるものには2つのコンポーネントがあります。 1つは、必要に応じてタグをロードすることです。つまり、すべてのタグをレイアウトに埋め込み、すべての単一ページにロードするだけではありません。これは非常に簡単です。他の(わずかに)より難しいコンポーネントは 非ブロック方式でJavaScriptをロードする 依存関係による競合状態を引き起こすことなし
これを行うには、<script/>
要素のdefer
またはasync
属性を使用するか、JavaScriptを使用してタグを動的にロードします。
defer
は、非ブロッキング方式でロードされ、通常はページに表示される順序で、ページのロードが完了した後にのみコードを実行します。async
およびJSを使用した動的ロードは、ダウンロードされるとすぐにコードを実行するため、実行順序は保証されず、ページのロードが完了するまで待機しません。その他の複雑な問題には次のものがあります。
defer
は必ずしもページに表示される順序で実行されるとは限りません。async
は、 制限付きブラウザーサポート を持つHTML5属性です。window.onload
イベントをブロックするため、ページの読み込み時間が長くなります。後者の回避策の1つは、遅延0のタイマーを使用することです。これは、タグがwindow.onload
の前または後に実行されることを保証せず、ロードイベントをブロックしないだけです。
Google+タグの場合、実行順序について心配する必要はありません。したがって、window.onload
をブロックするかどうかに応じて、defer
または動的ロードを使用できます。 onload
でトリガーする必要があるUI関連のJSがある場合は、おそらくタイマー技術を使用して遅延を最小限に抑えます。
Google 以下を推奨 :-
<script type="text/javascript">
// Add a script element as a child of the body
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "deferredfunctions.js";
document.body.appendChild(element);
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
Phpied.comには トピックを説明する便利な記事 もあり、ソーシャルメディアボタンのdefer
ing javasciptの読み込みに関する詳細情報も見つけることができます このクエリで