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的匿名函数来分析几段简单有趣的代码
Jun 29 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
Jul 26 Javascript
jQuery实现可用于博客的动态滑动菜单
Mar 09 Javascript
jQuery中队列queue()函数的实例教程
May 03 Javascript
实现React单页应用的方法详解
Aug 02 Javascript
javascript编写简易计算器
May 06 Javascript
关于jQuery库冲突的完美解决办法
May 20 jQuery
详解vue服务端渲染(SSR)初探
Jun 19 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
Jul 07 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
Aug 10 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
JavaScript Dom 绑定事件操作实例详解
Oct 02 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微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
javascript取消文本选定的实现代码
2010/11/14 Javascript
jquery对表单操作2
2011/04/06 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
几行js代码实现自适应
2017/02/24 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
JS返回顶部实例代码
2020/08/09 Javascript
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
2018/01/18 jQuery
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
[05:20]卡尔工作室_DOTA2新手教学_DOTA2超强新手功能
2013/04/22 DOTA
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python实现的文件夹清理程序分享
2014/11/22 Python
Python实现读写INI配置文件的方法示例
2018/06/09 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
YUV转为jpg图像的实现
2019/12/09 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
学习十八大宣传标语
2014/10/09 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
爱国主义主题班会
2015/08/14 职场文书
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫
Promise静态四兄弟实现示例详解
2022/07/07 Javascript