IE下window.onresize 多次调用与死循环bug处理方法介绍


Posted in Javascript onNovember 12, 2013

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 相关文章推荐
javascript同步Import,同步调用外部js的方法
Jul 08 Javascript
img标签中onerror用法
Aug 13 Javascript
深入分析js中的constructor和prototype
Apr 07 Javascript
JS图像无缝滚动脚本非常好用
Feb 10 Javascript
js加入收藏夹代码(兼容ie/ff/op)
May 16 Javascript
Javascript判断文件是否存在(客户端/服务器端)
Sep 16 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
Oct 10 Javascript
JavaScript实现格式化字符串函数String.format
Dec 16 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
Jan 05 Javascript
ES6的Fetch异步请求的实现方法
Dec 07 Javascript
详细分析Node.js 模块系统
Jun 28 Javascript
VUE-ElementUI 自定义Loading图操作
Nov 11 Javascript
JS获取键盘上任意按键的值(实例代码)
Nov 12 #Javascript
只需一行代码,轻松实现一个在线编辑器
Nov 12 #Javascript
JS中实现replaceAll的方法(实例代码)
Nov 12 #Javascript
jquery.validate的使用说明介绍
Nov 12 #Javascript
javascript 函数及作用域总结介绍
Nov 12 #Javascript
Javascript之this关键字深入解析
Nov 12 #Javascript
js hover 定时器(实例代码)
Nov 12 #Javascript
You might like
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
PHP加密技术的简单实现
2016/09/04 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
2017/05/17 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
超清晰的document对象详解
2007/02/27 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
2012/06/27 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
javascript+canvas实现刮刮卡抽奖效果
2015/07/29 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
javascript关于继承解析
2016/05/10 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
微信小程序6位或多位验证码密码输入框功能的实现代码
2018/05/29 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
Python turtle库绘制菱形的3种方式小结
2019/11/23 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
Canvas与Image互相转换示例代码
2013/08/09 HTML / CSS
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
领先的英国注册在线药房 :Simply Meds Online
2019/03/28 全球购物
统计每一学生的平均成绩
2014/06/06 面试题
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
酒店温馨提示语
2015/07/14 职场文书