我有以下代碼:VS .load的window.onload
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(53.743317, -0.331004),
zoom: 12
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
}
function loadScript() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?key={APIKEY}&sensor=false&callback=initialize';
document.body.appendChild(script);
}
如果我把
$(window).load(function() {
loadScript;
});
它不會加載我的地圖。谷歌地圖js中的錯誤是Uncaught TypeError: Object #<Object> has no method 'Load'
。但是,如果我使用
window.onload = loadScript;
它會加載它罰款。我完全不知道爲什麼。
$(window).load(loadScript());
也有效,只是把它作爲一個函數調用它不。你能告訴我這種行爲的原因嗎?
NB: '$(窗口).load(函數(){ loadScript(); });'不工作,要麼 –
在Jsfiddle上,你的代碼似乎以相同的方式工作:jQuery:[link](http://jsfiddle.net/q5XET/) - window.onload [link](http://jsfiddle.net/AQgG9/) – CodeCarvings
On jsfiddle它不會工作,因爲我的API密鑰不會讓它,所以我不知道你怎麼能說他們以同樣的方式工作 $(window).load(loadScript()); 工程,但把它放在一個功能不。我真的不明白這 –