2013-01-23 82 views
0

我想懶惰加載所有的第三方JS/CSS後,我的主頁顯示,因爲當用戶從主頁導航到某些特定的模塊時使用外部插件等。懶惰加載谷歌地圖api

到目前爲止,我已經成功地爲正常的.js &的.css外部庫感謝名單,以http://wonko.com/post/lazyload-200-released

但是失敗了這樣http://maps.google.com/maps/api/js?sensor=true

代碼路徑:

LazyLoad.js('http://maps.google.com/maps/api/js?sensor=true', function() { 
    alert('Your JS has been loaded'); 
    }); 

我覺得解決方案將如何延遲加載網址?

回答

0

我相信你想要的東西,如:

$.getScript('http://maps.google.com/maps/api/js?sensor=true'); 

使用jQuery。 API將提供回撥的詳細信息。否則谷歌可能會有一些機制要求它從負載出現。只是一個猜測。

+0

當我在螢火蟲中看到它時,它確實給出腳本,但不會在我的代碼中加載腳本。在執行完所有的.js/.css文件後,我正在執行這一行。 – Zohaib

-1

找到了一個解決方案: 檢查URL:'http://maps.google.com/maps/api/js?sensor = true' 你會發現它正在導入main.js。傳感器= true的簡單getScript不會給出整個google對象,因此下一次導入也是必需的。

var t=setTimeout(function(){ 
    jQuery.getScript('http://maps.google.com/maps/api/js?sensor=true'); 
    jQuery.getScript('http://maps.gstatic.com/intl/en_us/mapfiles/api-3/10/20/main.js'); 
    },1000); 
+0

把這個放在準備好的文件中是我的答案背後的想法,應該有與超時相同的結果,這在我看來是最好的避免... –