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 相关文章推荐
客户端 使用XML DOM加载json数据的方法
Sep 28 Javascript
js 分页全选或反选标识实现代码
Aug 09 Javascript
javascript图像处理—仿射变换深度理解
Jan 16 Javascript
javascript实现复制与粘贴操作实例
Oct 16 Javascript
深入浅析JS Function()构造函数
Aug 22 Javascript
iscroll.js滚动加载实例详解
Jul 18 Javascript
Three.js实现绘制字体模型示例代码
Sep 26 Javascript
JS使用数组实现的队列功能示例
Mar 04 Javascript
js微信分享接口调用详解
Jul 23 Javascript
JavaScript原生数组函数实例汇总
Oct 14 Javascript
解决vant title-active-color与title-inactive-color不生效问题
Nov 03 Javascript
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 Vue.js
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
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
2016/02/29 Javascript
微信小程序入门教程
2016/11/18 Javascript
jquery pagination分页插件使用详解(后台struts2)
2017/01/22 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
vue使用echarts画组织结构图
2021/02/06 Vue.js
让python json encode datetime类型
2010/12/28 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
Python带动态参数功能的sqlite工具类
2018/05/26 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
一文了解python 3 字符串格式化 F-string 用法
2020/03/04 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
通息工程毕业生自荐信
2013/10/16 职场文书
新闻学专业个人求职信写作
2014/02/04 职场文书
班主任班级寄语大全
2014/04/04 职场文书
生产助理岗位职责
2014/06/18 职场文书
中学推普周活动总结
2015/05/07 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
课题研究阶段性总结
2015/08/13 职场文书
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL
Python加密技术之RSA加密解密的实现
2022/04/08 Python