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 相关文章推荐
ext jquery 简单比较
Apr 07 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
Mar 13 Javascript
纯JS实现弹性导航条效果
Mar 06 Javascript
jQuery 控制文本框自动缩小字体填充
Jun 16 jQuery
vuejs事件中心管理组件间的通信详解
Aug 09 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
Sep 07 Javascript
C#实现将一个字符转换为整数
Dec 12 Javascript
使用vue-router设置每个页面的title方法
Feb 11 Javascript
RxJS的入门指引和初步应用
Jun 15 Javascript
Vue分页效果与购物车功能
Dec 13 Javascript
vue-socket.io跨域问题有效解决方法
Feb 11 Javascript
vue data对象重新赋值无效(未更改)的解决方式
Jul 24 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数据库抽象层 PDO
2011/05/07 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
PHP编写daemon process详解及实例代码
2016/09/30 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
根据邮箱的域名跳转到相应的登录页面的代码
2012/02/27 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
[02:21]十步杀一人,千里不留行——DOTA2全新英雄天涯墨客展示
2018/08/29 DOTA
Django框架中的对象列表视图使用示例
2015/07/21 Python
Python全局变量用法实例分析
2016/07/19 Python
Django 导出 Excel 代码的实例详解
2017/08/11 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
python实现列表的排序方法分享
2019/07/01 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
HTML5在手机端实现视频全屏展示方法
2020/11/23 HTML / CSS
欧洲著名的珠宝和手表网上商城:uhrcenter
2017/04/10 全球购物
我的梦想演讲稿500字
2014/08/21 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
教学副校长工作总结
2015/08/13 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫