Javascript 与不在';软';仅刷新,但控制台日志语句不可用
我感觉我的头现在正撞在墙上;我知道有报道称,在jQuery 1.8.0中,Javascript 与不在';软';仅刷新,但控制台日志语句不可用,javascript,jquery,Javascript,Jquery,我感觉我的头现在正撞在墙上;我知道有报道称,在jQuery 1.8.0中,document.ready函数在IE 9和10中启动得太早。但是,我在jQuery最新版本(1.9.1)下运行了以下代码片段: $(文档).ready(函数(){ window.ie=(函数(){ var undef,v=3,x=9,div=document.createElement('div'),div2=document.createElement('div'),all=div.getElementsByTagN
document.ready
函数在IE 9和10中启动得太早。但是,我在jQuery最新版本(1.9.1)下运行了以下代码片段:
$(文档).ready(函数(){
window.ie=(函数(){
var undef,v=3,x=9,div=document.createElement('div'),div2=document.createElement('div'),all=div.getElementsByTagName('i'),bs=div2.getElementsByTagName('b');
而(div.innerHTML='',all[0]);
而(div2.innerHTML='',bs[0]){
$(“body”).addClass(“LTIE”+x-);
}
如果(v>4)$(“正文”).addClass(“isie”+v);
返回v>4?v:未定义;
}());
});
当我从服务器刷新时,此选项有效,但当我使用ctrl+R
或f5
时,此选项无效。我正在本地运行此应用程序。不确定这是否重要,但我已尝试通过开发工具将其设置为始终从服务器刷新,成功刷新一次,然后禁用此设置,但它仍然无法完全运行此脚本-似乎如果我在其中添加警报或console.log,它就可以正常工作(不添加类,但即使在while循环中也会向控制台发出警报或写入)。如果它从服务器刷新或使用ctrl+f5
,则肯定应该替换缓存的副本,对吗
提前感谢,,
当做
Richard注意,我曾考虑过另一个脚本出于某种原因删除这些类的可能性,但如果是这样,那么这个脚本也不能用于硬刷新。它似乎可以用于硬刷新,但不能用于软刷新。
<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>