誰かが1つのファイルに複数のGoogleスクリプトをロードする方法を知っているのか、それとも可能であるのか、疑問に思っていました。一部のページで最大3つ以上のGoogleスクリプトを読み込んでいるためです。
- グーグルアナリティクス
- Google CSE
- グーグルマップ
- (たまに)Google Webfonts
HTTPリクエストを削減しようとしていて、それらすべてを含むgoogle.jsのようなものをロードできるようにしたいと考えています。
誰かが1つのファイルに複数のGoogleスクリプトをロードする方法を知っているのか、それとも可能であるのか、疑問に思っていました。一部のページで最大3つ以上のGoogleスクリプトを読み込んでいるためです。
HTTPリクエストを削減しようとしていて、それらすべてを含むgoogle.jsのようなものをロードできるようにしたいと考えています。
結合されたjsファイルを単一のhttpリクエストとしてGoogleからダウンロードすることはできませんが、十分な頻度で更新すれば(たとえば、1日2回のcronジョブなど)、独自のWebサイトをダウンロード、結合、およびロードできます。必要に応じて、キャッシュヘッダーを設定することもできます。
それにもかかわらず、私はそれを行うことに対してアドバイスします-それらのスクリプトを非同期でロードするだけです(ただし、個別のファイルではなく、html内から)-それは非ブロッキングであり、Webサイトのレンダリング開始を遅くしません。
この例で行われているように、スクリプトを非同期でロードできます。load関数は、次のようなURLパラメーターを受け入れるように変更できます。
function loadScript(url) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
document.body.appendChild(script);
}
その後:
var url = 'https://maps.googleapis.com/maps/api/js?sensor=false';
loadScript(url);
var url = 'https://www.somedomain.com/someScript.js';
loadScript(url);
// ...etc
次に、これらすべてを別のgoogle.jsファイルに入れることができます。ただし、必要に応じて一連のスクリプトをロードする方が簡単になる場合がありますが、これによってHTTPリクエストが削減されることはありません。