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实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
Jun 28 Javascript
JAVASCRIPT函数作用域和提前声明 分享
Aug 22 Javascript
编写自己的jQuery提示框(Tip)插件
Feb 05 Javascript
AngularJS教程 ng-style 指令简单示例
Aug 03 Javascript
前端弹出对话框 js实现ajax交互
Sep 09 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
Nov 24 Javascript
js实现的在线调色板功能完整实例
Dec 21 Javascript
node.js中EJS 模板快速入门教程
May 08 Javascript
详解Javascript获取缓存和清除缓存API
May 25 Javascript
angularjs获取到My97DatePicker选中的值方法
Oct 02 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
Jul 27 Javascript
VUE Elemen-ui之穿梭框使用方法详解
Jan 19 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解析json数据实例
2014/08/19 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
JavaScript中调用函数的4种方式代码实例
2015/07/08 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
2015/08/22 Javascript
jquery插件jquery.confirm弹出确认消息
2015/12/22 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
Vue 进入/离开动画效果
2017/12/26 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
vue开发环境配置跨域的方法步骤
2019/01/16 Javascript
浅谈redux, koa, express 中间件实现对比解析
2019/05/23 Javascript
JavaScript适配器模式原理与用法实例详解
2020/03/09 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
python中stdout输出不缓存的设置方法
2014/05/29 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
python实现手势识别的示例(入门)
2020/04/15 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
linux面试题参考答案(4)
2014/09/21 面试题
教育学专业毕业生的自我评价
2013/11/21 职场文书
工作自我评价怎么写
2014/01/29 职场文书
企业宣传方案
2014/03/04 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
后备干部推荐材料
2014/12/24 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书