2012-09-19 52 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

相關問題