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 ctrl+Enter shift+Enter实现代码
Feb 07 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
May 07 Javascript
jQuery的图片滑块焦点图插件整理推荐
Dec 07 Javascript
jQuery实现简单的列表式导航菜单效果代码
Aug 31 Javascript
如何用JS判断两个数字的大小
Jul 21 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
Aug 17 Javascript
javascript入门之string对象【新手必看】
Nov 22 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
Jan 10 Javascript
浅谈vue中数据双向绑定的实现原理
Sep 14 Javascript
ES6中的Promise代码详解
Oct 09 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
Jul 16 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
Sep 17 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实现的简易扫雷游戏实例
2015/07/09 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
jquery replace方法去空格
2017/05/08 jQuery
js实现图片懒加载效果
2017/07/17 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
Python max内置函数详细介绍
2016/11/17 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
Python get获取页面cookie代码实例
2018/09/12 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
Django项目使用CircleCI的方法示例
2019/07/14 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
Python3直接爬取图片URL并保存示例
2019/12/18 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
加热夹克:RAVEAN
2018/10/19 全球购物
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
俄语翻译实习生的自我评价分享
2013/11/06 职场文书
导师评语大全
2014/04/26 职场文书
维修工先进事迹
2014/05/29 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
辞职信标准格式
2015/02/27 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
召开会议通知范文
2015/04/15 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书
小学记事作文之200字
2019/08/06 职场文书
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL