来自土耳其的问候,
我在window.onload方面遇到了一些困难,就像这样:
我正在使用jquery.magiclick.js填充div的innerHTML,并使用AJAX调用获取xml,其中包含一些img定义。该函数调用此magiclick函数驻留在document.ready中,如下所示:
$().ready(function () {
loginBanner();
});
我在另一个js中定义了一个window.onload函数。它不是必需的,但我会包含代码以使自己更清晰。它只是调用window.onload函数,如果之前有一个定义,然后函数作为参数传递。在这里:
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.document.body.onload = function(){
alert("onLoad-1");
func();
};
} else {
window.document.body.onload = function() {
alert("onLoad-1");
if (oldonload) {
oldonload();
}
func();
};
}
}
我在页面底部使用函数参数调用此函数。
我的期望是它会在文档准备好之后获取img定义,并且由于定义包含img引用,它将获取图像数据然后执行我的onload函数。它在FF上运行得很好,但在IE上却不行。
在IE中,它调用magiclick函数来获取xml,然后调用我的onload函数,但是在onload函数执行时,还没有获取xml文件。
我坚持这一点,任何帮助都会受到严重限制。
请阅读我的帖子,这是我的第一个问题,如果我犯了任何语言或结构上的错误,请原谅我。
那么,有没有人知道我可能做错了什么?再次感谢。
答案 0 :(得分:0)
AJAX是异步的,不必为你的窗口加载完成
在ajax成功回调中调用您的代码
使用jQuery AJAX速记方法$ .get()作为示例:
$.get( url, function(data){
/* AJAX success, run code here */
})