ホームページ >ウェブフロントエンド >jsチュートリアル >IE_javascript スキルの下で window.onresize の複数の呼び出しと無限ループのバグに対処する方法の紹介

IE_javascript スキルの下で window.onresize の複数の呼び出しと無限ループのバグに対処する方法の紹介

WBOY
WBOYオリジナル
2016-05-16 17:16:051064ブラウズ

window.onresize には IE ブラウザにバグがあり、複数回実行されたり、場合によっては無限ループしたりしてブラウザがフリーズします

解決策:

コードをコピーします コードは次のとおりです。

//onresize イベントを IE ブラウザーの div に配置します
if(navigator.userAgent && navigator.userAgent.toLowerCase().indexOf("msie")>-1){
document.body.innerHTML = '
' document.body.innerHTML;
} else {
window.onresize = function(){
restartClientWidth();
LazyLoadImgesMethod();
};
}

追記: FF ブラウザは div への onresize イベントの書き込みをサポートしていません。window.onresize は FF で無限にループしませんが、関数内でアラートの実行がある場合、FF ブラウザはループします。またフリーズしてしまいますが、これは非常にどうしようもないバグです。

追記: navigator.userAgent.split(";")[1].toLowerCase().indexOf("msie")>-1 この IE 判定問題は Chrome ブラウザに表示されます" toLowerCase( )" メソッド未定義エラー。

つまり、修正は navigator.userAgent.toLowerCase().indexOf("msie")>-1

です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。