我在做什么让IE生气?

时间:2012-01-05 17:56:21

标签: jquery internet-explorer crash

所以我添加了一些jQuery,现在当我尝试加载页面时IE很难崩溃。其他浏览器似乎很好。 IE的行为方式与我过去无意中创建无限循环的方式相同,但由于它不会导致其他浏览器出现问题,我对实际原因有点困惑。

$(window).resize(function(){
sizeOfResize = $('#main').width()*.9;
$('#news p').width(sizeOfResize);   
})

2 个答案:

答案 0 :(得分:3)

我注意到的两件事 - 可能是也可能不是。正如我们所有人所评论的那样,IE会在没有你做太多事情的情况下生气。

无论如何,到了这一点。 在示例代码中,函数末尾没有分号。我不知道这是否会导致IE生气或不生气,但值得一试。 IE对逗号和分号非常敏感,而不像其他浏览器那样宽容。

如果上述方法不起作用,请查看是否需要除.9之外的其他数字 - 也许可以尝试整数。我想它可能不喜欢。在.9中 - 如果是这样的话,你将不得不改变数学方法。

答案 1 :(得分:1)

不是直接的答案,但通常我测试代码的方式是从简单的警报开始并变得更复杂。例如,尝试从这段代码开始:

$(window).resize(function(){
     alert("TEST");   
})

如果没有破坏它,那么添加原始样本的下一部分:

 $(window).resize(function(){
sizeOfResize = $('#main').width()*.9;
alert("TEST");   
})

如果这没有打破它,请添加最后一位:

$(window).resize(function(){
sizeOfResize = $('#main').width()*.9;
$('#news p').width(sizeOfResize);  
   alert("test"); 
})

这不会解决您的问题,但它应该指向破坏它的特定代码行。

以下是类似的问题和答案:

Cross-browser window resize event - JavaScript / jQuery

希望有所帮助