IE下window.onresize 多次调用与死循环bug处理方法介绍
window.onresize 在IE浏览器下有多次被执行甚至死循环的bug,会导致浏览器卡死
解决方案:
// IE浏览器下将onresize事件放在div上
if(navigator.userAgent && navigator.userAgent.toLowerCase().indexOf("msie")>-1){
document.body.innerHTML = '<div onresize="resetClientWidth();lazyLoadImgesMethod();" style="width:100%;height:100%;position:absolute;z-index:-999;"></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中自带的 reduce()方法使用示例详解
下文小编给大家带来了js中自带的reduce()方法使用示例详解,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧2016-08-08javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
JavaScript 不像和c# vb.net 中一样 直接就可以替换所以的要替换的字符2010-06-06再谈JavaScript中bind、call、apply三个方法的区别与使用方式
这篇文章主要介绍了Javascript中bind、call、apply三个方法的使用方式,需要的朋友可以参考下2022-05-05解决微信小程序调用moveToLocation失效问题【超简单】
这篇文章主要介绍了解决微信小程序调用moveToLocation失效问题,解决方法超级简单,需要的朋友可以参考下2019-04-04
最新评论