今、頭を壁にぶつけているような気がします。document.ready
jQuery 1.8.0 で、IE 9 および 10 で関数の起動が早すぎることが報告されていることは知っています。ただし、最新の jQuery (1.9.1) で実行されている次のコード スニペットがあります。
<script type="text/javascript">
$(document).ready(function() {
window.ie = (function(){
var undef, v = 3, x = 9, div = document.createElement('div'), div2 = document.createElement("div"), all = div.getElementsByTagName('i'), bs = div2.getElementsByTagName("b");
while ( div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->', all[0] );
while ( div2.innerHTML = '<!--[if lte IE ' + x + ']><b></b><![endif]-->', bs[0] ) {
$("body").addClass("lteie" + x--);
}
if(v > 4) $("body").addClass("isie" + v);
return v > 4 ? v : undef;
}());
});
</script>
ctrl + R
これは、サーバーから更新すると機能しますが、またはを使用すると機能しませんf5
。このアプリをローカルで実行しています。これが重要かどうかはわかりませんが、開発ツールを介してサーバーから常に更新するように設定しようとしましたが、一度更新してからこの設定を無効にしましたが、まだこのスクリプトを完全に実行していません - アラートを入れた場合そこ、またはconsole.log、それは正常に動作します(クラスを追加しませんが、whileループ内に置かれた場合でもコンソールにアラートまたは書き込みを行います)。サーバーから、または を使用して更新する場合ctrl + f5
、キャッシュされたコピーは確実に置き換えられるはずですよね?
前もって感謝します、よろしく、リチャード