2012-09-19 37 views
2

我只是想知道是否有人知道如何 - 或者甚至有可能 - 在一个文件中加载多个Google脚本?因为看到了一些我的网页我加载多达三个或更多谷歌的脚本:可能在一个文件中加载多个Google脚本

  1. 谷歌分析
  2. 谷歌CSE
  3. 谷歌地图
  4. (偶尔)谷歌网络字体

试图削减HTTP请求,并希望能够加载类似google.js包括所有这些。

回答

3

您不能从Google下载组合的js文件作为单个http请求,但是您可以下载,合并并加载您自己的网站,前提是您足够频繁地更新它们(例如每天两次执行cron作业) 。如果你愿意,你甚至可以设置缓存标题。

尽管我会建议不要这样做 - 只是异步加载这些脚本(但在HTML中,而不是单独的文件) - 它是非阻塞的,并不会减慢你的网站的渲染开始。

+0

感谢您的建议! –

2

您可以异步加载脚本,因为它在this example中完成。负载功能可以进行修改,以接受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请求。

+0

这实际上会增加一个http请求 - 到google.js--与OP要求的相反。 – c2h5oh

+0

是的,我在我的回答中提到过。 :-) – Marcelo

+0

啊,对不起。这一定是你身边典型的咖啡因错误:P – c2h5oh

相关问题