等待后设置window.location

时间:2012-09-20 10:00:22

标签: javascript jquery ajax internet-explorer

我有一个更改的回调函数

window.location.href = url;

但是,在检查图像是否存在于不同页面(和不同域)中之后,将调用此回调。 我的问题是IE9不会让我做以下事情:

        $(testImage)
            .bind("load readystatechange", function (e) {
                if (this.complete || (this.readyState === 'complete' && e.type === 'readystatechange')) {
                    callbackFunction(true);
                }
            })
            .bind("error abort", function () {
                abort();
            })
            .attr("src", testUrl);

IE9允许我这样做:

callbackFunction(true);

但是我想等待,看看我的形象存在,我需要上面的工作。 (我不想更改IE设置)当然,它在Chrome中运行良好。

有人有任何想法吗?

编辑:我想我应该澄清一下:“当我说ie9不会让我这么做......”我的意思是ie9执行回调但内部代码(更改网址)不起作用。

1 个答案:

答案 0 :(得分:0)

IE还支持图片上的load事件,除非您有其他原因未明确提及,否则 明确检查.readyState属性。< / p>

所以它应该足够像

$( testImage ).on('load', function( e ) {
    callbackFunction( true );
});