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 相关文章推荐
有一段有意思的代码-javascript现实多行信息
Aug 26 Javascript
jQuery 源代码显示控件 (Ajax加载方式).
May 18 Javascript
jQuery ajax BUG:object doesn't support this property or method
Jul 06 Javascript
javascript 基础篇4 window对象,DOM
Mar 14 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
Apr 01 Javascript
JS+CSS实现Div弹出窗口同时背景变暗的方法
Mar 04 Javascript
Javascript中arguments用法实例分析
Jun 13 Javascript
javascript实现随机显示星星特效
Jan 28 Javascript
js实现图片360度旋转
Jan 22 Javascript
vue.js实现价格格式化的方法
May 23 Javascript
mui上拉加载更多下拉刷新数据的封装过程
Nov 03 Javascript
vue 查看dist文件里的结构(多种方式)
Jan 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
用Socket发送电子邮件
2006/10/09 PHP
用php获取远程图片并把它保存到本地的代码
2008/04/07 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
Yii2下点击验证码的切换实例代码
2017/03/14 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
JavaScript中的this使用详解
2016/07/27 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
微信小程序swiper实现文字纵向轮播提示效果
2020/01/21 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
python如何使用unittest测试接口
2018/04/04 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
Python3标准库之functools管理函数的工具详解
2020/02/27 Python
世界上最大的网络主机公司:1&1
2016/10/12 全球购物
全球虚拟主机商:HostGator
2017/02/06 全球购物
Lancome兰蔻官方旗舰店:来自法国的世界知名美妆品牌
2018/06/14 全球购物
社团活动策划书范文
2014/01/09 职场文书
室内拓展活动方案
2014/02/13 职场文书
保密工作承诺书
2014/08/29 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
pytest进阶教程之fixture函数详解
2021/03/29 Python
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL