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 相关文章推荐
如何实现JS函数的重载
Sep 22 Javascript
jquery限制输入字数,并提示剩余字数实现代码
Dec 24 Javascript
表格奇偶行设置不同颜色的核心JS代码
Dec 24 Javascript
吐槽一下我所了解的Node.js
Oct 08 Javascript
jquery插件corner实现圆角边框的方法
Mar 09 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
Jan 06 Javascript
JS打印组合功能
Aug 04 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
Aug 25 Javascript
vue组件父与子通信详解(一)
Nov 07 Javascript
Vue高版本中一些新特性的使用详解
Sep 25 Javascript
angular.js实现列表orderby排序的方法
Oct 02 Javascript
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
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 批量删除 sql语句
2009/06/05 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
2013/06/24 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
javascript中直接写php代码的方法
2013/07/31 Javascript
JS 实现导航栏悬停效果
2013/09/23 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
vue.js根据代码运行环境选择baseurl的方法
2018/02/28 Javascript
如何从零开始手写Koa2框架
2019/03/22 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
基于javascript的无缝滚动动画1
2020/08/07 Javascript
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
Flask模拟实现CSRF攻击的方法
2018/07/24 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
Python zip函数打包元素实例解析
2019/12/11 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
销售副总经理岗位职责
2013/12/11 职场文书
学校与家长安全责任书
2014/07/23 职场文书
环卫工作汇报材料
2014/10/28 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript
python自动化测试之Selenium详解
2022/03/13 Python
利用Apache Common将java对象池化的问题
2022/06/16 Servers
小程序实现侧滑删除功能
2022/06/25 Javascript
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技