0

変更するコールバック関数があります

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はコールバックを実行しますが、内部のコード(URLの変更)は機能しません。

4

1 に答える 1

0

IEはload画像のイベントもサポートしているため、言及しなかった別の理由がない限り、プロパティを明示的に確認する必要はありません。.readyState

だからそれは絶対に次のように行くのに十分なはずです

$( testImage ).on('load', function( e ) {
    callbackFunction( true );
});
于 2012-09-20T10:04:03.230 に答える