IE6弹出“已终止操作”的解决办法
更新时间:2010年11月27日 23:32:52 作者:
导致这个问题产生的原因,一般是因为js(一个比较复杂的js)写在body里面,在body元素加载完之前调用出现问题。显然,解决该问题的方法就是将这一段js放在body元素解析完毕之后。
在实际的项目中,我的这个js是在头部页面里面,头部被多个页面引用,如果在每个页面的body元素里面加<body onload="函数">,可以解决问题,但是这样做太不符合实际了。毕竟全改的话,到时候布署到外网,要更新太多的文件。于是,在网上找了一下,让这段js最后执行的代码,终于让我找到了。代码如下:
<scirpt type="text/javascript">
document.onreadystatechange = function(){
if(document.readyState=="complete")
{
alert('加载完毕');
}
}
</script>
我把alert("加载完毕")这段改成我要最后执行的js代码,终于IE6不再报这个错误,测试IE6、IE7、IE8、谷歌浏览器都能通过。
但是火狐不支持这段代码,因为还得再原先的代码基础上加一段只有火狐能运行的代码,总代码如下:
<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只是为了处理这个的话,未必太大材小用了。
复制代码 代码如下:
<scirpt type="text/javascript">
document.onreadystatechange = function(){
if(document.readyState=="complete")
{
alert('加载完毕');
}
}
</script>
我把alert("加载完毕")这段改成我要最后执行的js代码,终于IE6不再报这个错误,测试IE6、IE7、IE8、谷歌浏览器都能通过。
但是火狐不支持这段代码,因为还得再原先的代码基础上加一段只有火狐能运行的代码,总代码如下:
复制代码 代码如下:
<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只是为了处理这个的话,未必太大材小用了。
相关文章
用 js 的 selection range 操作选择区域内容和图片
本篇文章主要介绍了用js的selection range操作选择区域内容和图片的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧2017-04-04
重写javascript中window.confirm的行为
javascript中window.confirm这个方法很好用,可以弹出一个确认对话框.但有一个问题是,它默认的情况下,将选中那个"确定"按钮,当用户有意无意的在键盘回车,就是说按下Enter键的时候,就会自动返回true。在很多时候其实我们不希望这样2012-10-10


最新评论