打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
IE6弹出“已终止操作”的解决办法

      导致这个问题产生的原因,一般是因为js(一个比较复杂的js)写在body里面,在body元素加载完之前调用出现问题。显然,解决该问题的方法就是将这一段js放在body元素解析完毕之后。

      在实际的项目中,我的这个js是在头部页面里面,头部被多个页面引用,如果在每个页面的body元素里面加<body onload="函数">,可以解决问题,但是这样做太不符合实际了。毕竟全改的话,到时候布署到外网,要更新太多的文件。于是,在网上找了一下,让这段js最后执行的代码,终于让我找到了。代码如下:

1
2
3
4
5
6
7
8
<scirpt type="text/javascript">
    document.onreadystatechange = function(){  
        if(document.readyState=="complete")  
        {  
        alert('加载完毕');
        }
}
</script>

       我把alert("加载完毕")这段改成我要最后执行的js代码,终于IE6不再报这个错误,测试IE6、IE7、IE8、谷歌浏览器都能通过。

       但是火狐不支持这段代码,因为还得再原先的代码基础上加一段只有火狐能运行的代码,总代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript">
/* IE6 7 8,谷歌 */
document.onreadystatechange = function(){  
        if(document.readyState=="complete")  
        {  
        alert('加载完毕');
        }
}
/* 火狐 */
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", function(){alert("DOM加载完毕!")}, null);
}
</script>

      PS:我没用jquery,是因为我们这个项目没有用过jquery库,不得不承认,也许用jquery的话,只是一句话的问题,但是加入jquery.js只是为了处理这个的话,未必太大材小用了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
jquery $(document).ready() 与window.onload的区别
jQuery之$(document).ready()使用介绍
IE8 中"HTML Parsing Error:Unable to modify the parent container element before the child element is c
document.body为空或不是对象
网页图片延迟加载显示代码Jquery.LazyLoad.js改良版
js使用心得
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服