我只是想知道是否有人知道如何——或者是否有可能——在一个文件中加载多个 Google 脚本?看到因为在我的一些页面上我加载了三个或更多的 Google 脚本:
- 谷歌分析
- 谷歌 CSE
- 谷歌地图
- (偶尔)Google Webfonts
试图减少 HTTP 请求,并希望能够加载像google.js这样包含所有这些的东西。
我只是想知道是否有人知道如何——或者是否有可能——在一个文件中加载多个 Google 脚本?看到因为在我的一些页面上我加载了三个或更多的 Google 脚本:
试图减少 HTTP 请求,并希望能够加载像google.js这样包含所有这些的东西。
您不能从 Google 下载组合的 js 文件作为单个 http 请求,但您可以下载、组合和加载它们自己的网站,前提是您经常更新它们(例如每天两次的 cron 作业)。如果您愿意,您甚至可以设置缓存标头。
尽管我建议不要这样做 - 只是异步加载这些脚本(但从 html 中,而不是单独的文件) - 它是非阻塞的,不会减慢您网站的渲染开始。
您可以异步加载脚本,如本示例中所做的那样。可以修改 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 请求。