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 相关文章推荐
jquery的冒泡事件的阻止与允许(三种实现方法)
Feb 01 Javascript
javascript怎么禁用浏览器后退按钮
Mar 27 Javascript
js检验密码强度(低中高)附图
Jun 05 Javascript
JS定义网页表单提交(submit)的方法
Mar 20 Javascript
JS验证邮件地址格式方法小结
Dec 01 Javascript
javascript判断回文数详解及实现代码
Feb 03 Javascript
Angularjs 与 bower安装和使用详解
May 11 Javascript
基于JavaScript实现无缝滚动效果
Jul 21 Javascript
vue下拉列表功能实例代码
Apr 08 Javascript
vue-swiper的使用教程
Aug 30 Javascript
详解一个基于套接字实现长连接的express
Mar 28 Javascript
vue实现鼠标移过出现下拉二级菜单功能
Dec 12 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
CodeIgniter中使用cookie的三种方式详解
2014/07/18 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
JavaScript算法教程之sku(库存量单位)详解
2017/06/29 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
JavaScript使用ul中li标签实现删除效果
2019/04/15 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
Python yield 使用浅析
2015/05/28 Python
Python递归实现汉诺塔算法示例
2018/03/19 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
美国便宜的横幅和标志印刷在线:Best of Signs
2019/05/29 全球购物
个性发展自我评价
2014/02/11 职场文书
精神文明建设标语
2014/06/16 职场文书
个人授权委托书格式
2014/08/30 职场文书
红色旅游心得体会
2014/09/03 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
党员理论学习心得体会
2016/01/21 职场文书
看完这篇文章获得一些java if优化技巧
2021/07/15 Java/Android
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android