長い間機能しているスライドショーがあります。サイトを XHTML トランジショナルに更新していますが、IE 9 でスライド ショーが機能しません。
問題は、「完了」機能が機能していないことです。次のコードは、スライド ショーを開始します (これは、ページの読み込み後に呼び出されます)。
function Initialize() {
document.images["carImg"].src = imgList[0];
if (document.getElementById) {
theLink = document.getElementById("linkTo");
theLink.href = imgURL[0];
}
if (document.images["carImg"].complete) SetTheInterval();
else setTimeout("Initialize()", 1000);
}
document.images["carImg"].complete
常に false に解決されるため、毎秒 Initialize を呼び出します。画像が表示されているため、画像imgList[0]
が読み込まれます。しかし、完全なプロパティは設定されていません。
条件をコメントアウトして をif (document.images["carImg"].complete)
呼び出すSetTheInterval()
と、スライドショーが機能します。
Firefoxでも機能します(条件付き)。IE 9 を「互換表示」に設定しても機能します (ただし、他のものは奇妙に見えます)。
IE 9 で「完全な」プロパティが設定されない理由を知っている人はいますか? 何か変わった?
更新:最初の画像でのみ機能していないだけで完了したようです。後続のイメージについては、イメージのロード時に完了が設定されます。