在FireFox中,我在身体的末尾有这个jQuery:
$(document).ready(function() {
$.getScript('LiveMapsJavascriptProvider.aspx?type=reference&value=6', init);
});
头部中有很多js文件需要全部加载才能生效。所以我把我的电话放在了document.ready事件中。它不起作用。 IE工作正常。
如果我发出警报('');在我调用$ .getScript之前它可以工作。
看起来脚本没有加载的问题呢?
我认为Document.ready在加载所有脚本并准备就绪后被解雇了。
谢谢, 伊恩
答案 0 :(得分:9)
document.ready
。你可以试试这个:
$(window).load(function() {
// will execute once all scripts and images are finished loading
});
答案 1 :(得分:3)
您不一定需要使用jQuery。
只需具有如下的onload功能:
<body onload="JavascriptFunctionName">
或者您可以动态地将函数调用附加到onload事件,如下所示:
function addEvent(obj, evType, fn){
if (obj.addEventListener){
obj.addEventListener(evType, fn, false);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
return false;
}
}
addEvent(window, 'load', JavascriptFunctionName);
您可以在JavascriptFunctionName
函数中嵌入jQuery函数调用。
修改强>:
jQuery也可以通过以下代码实现这一点。我建议先尝试一下,以避免不必要的冗余代码。
$(window).load(function() {
JavascriptFunctionName();
});
答案 2 :(得分:0)
您可以尝试使用类似head.js的内容来指定执行顺序,同时仍然可以利用并行加载。