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 图像裁剪插件Jcrop的简单使用
May 22 Javascript
js 判断脚本加载完毕的代码
Jul 13 Javascript
查找页面中所有类为test的结点的方法
Mar 28 Javascript
原生javascript实现DIV拖拽并计算重复面积
Jan 02 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
Oct 10 Javascript
javascript ASCII和Hex互转的实现方法
Dec 27 Javascript
详解JS数组Reduce()方法详解及高级技巧
Aug 18 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
Jul 30 Javascript
基于vue.js中关于下拉框的值默认及绑定问题
Aug 22 Javascript
js canvas实现画图、滤镜效果
Nov 27 Javascript
微信小程序时间选择插件使用详解
Dec 28 Javascript
vue图片加载失败时用默认图片替换的方法
Aug 29 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
2014/05/10 PHP
符合标准的js表单提交的代码
2007/09/13 Javascript
extjs form textfield的隐藏方法
2008/12/29 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
2016/11/25 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
详解AngularJs ui-router 路由的简单介绍
2017/04/26 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
如何解决vue在ios微信&quot;复制链接&quot;功能问题
2020/03/26 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
简单使用Python自动生成文章
2014/12/25 Python
python 截取 取出一部分的字符串方法
2017/03/01 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
Python hashlib模块加密过程解析
2019/11/05 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
python tkinter的消息框模块(messagebox,simpledialog)
2020/11/07 Python
python 发送get请求接口详解
2020/11/17 Python
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
读书心得体会
2013/12/28 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
土木工程求职信
2014/05/29 职场文书
财务工作失误检讨书
2015/02/19 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
国情备忘录观后感
2015/06/04 职场文书
vue特效之翻牌动画
2022/04/20 Vue.js