IE下window.onresize 多次调用与死循环bug处理方法介绍_Javascript教程-查字典教程网
IE下window.onresize 多次调用与死循环bug处理方法介绍
IE下window.onresize 多次调用与死循环bug处理方法介绍
发布时间:2016-12-30 来源:查字典编辑
摘要:window.onresize在IE浏览器下有多次被执行甚至死循环的bug,会导致浏览器卡死解决方案:复制代码代码如下://IE浏览器下将o...

window.onresize 在IE浏览器下有多次被执行甚至死循环的bug,会导致浏览器卡死

解决方案:

复制代码 代码如下:

// IE浏览器下将onresize事件放在div上

if(navigator.userAgent && navigator.userAgent.toLowerCase().indexOf("msie")>-1){

document.body.innerHTML = '<div onresize="resetClientWidth();lazyLoadImgesMethod();"></div>' + document.body.innerHTML;

} else {

window.onresize = function(){

resetClientWidth();

lazyLoadImgesMethod();

};

}

ps:FF浏览器不支持在div上写onresize事件,window.onresize 虽然在FF下不会死循环,但如果在函数里面有alert执行,FF浏览器也会卡死,很无奈的bug。

PS: navigator.userAgent.split(";")[1].toLowerCase().indexOf("msie")>-1 这个判断ie的问题, 在chrome浏览器下会出现"toLowerCase()"方法未定义的错误.

所以修正为navigator.userAgent.toLowerCase().indexOf("msie")>-1

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类