从未在Internet Explorer中调用过jquery .load回调

时间:2010-03-02 16:43:43

标签: jquery internet-explorer file download callback

我通过此处描述的IFRAME方法下载文件:

http://encosia.com/2007/02/23/ajax-file-downloads-and-iframes/

我在div中显示进度并在加载完成时隐藏此div:

$(objIframe).load(function() {
    $("#spinner").hide();
});

麻烦的是,这个回调函数永远不会在Internet Explorer中调用,但它在FireFox中工作正常。我已将随机值添加到查询请求字符串以避免缓存。为什么回调没有被调用?

2 个答案:

答案 0 :(得分:1)

这是我最后的尝试。

// prepare iframe    
setTimeout(checkReadyState, 100);    

function checkReadyState() {
    if (objIframe.contentWindow.document.readState !== "complete") {
        setTimeout(checkReadyState, 100);
    }
    else {
        $("#spinner").hide();
    }
}

答案 1 :(得分:0)

据我所知,如果内容不是某种HTML文档,onLoad将不会触发。至少在我的测试中,它往往成功,例如文本文件,html,图像等,但大多数其他事情都失败了。