网络编程
位置:首页>> 网络编程>> JavaScript>> 解决IE下提示“无法打开Internet站点 已终止操作”的错误

解决IE下提示“无法打开Internet站点 已终止操作”的错误

作者:yemoo 来源:yemoo blog 发布时间:2009-03-04 12:04:00 

标签:错误,ie,提示,浏览器

记得从ymPrompt2.0的时候自己就遇到过在IE下有时会莫名其妙的提示“无法打开Internet站点 已终止操作”,这样的一个错误很让人一头雾水,当时在网上找了下也没有找到什么答案,后来随着程序改动,发现这个错误很少出现,也就没有去解决。

前几天,又有网友问我:用ymPrompt怎么有时候提示:页面提示“无法打开Internet站点 已终止操作”。觉得这个问题应该解决一下了。再次去网上找了一下,看了几篇相关的文章,基本明白问题出现的原因了:当DOM没有就绪时就尝试修改document的一些属性或者执行一些dom的写操作(如在document未就绪时,调用document.createElement尝试创建元素时),很容易导致页面加载出现异常。

不过IE中document有一个属性readyState可以帮助我们解决这个问题。我们只要保证有关dom操作的代码在document.readyState=='complete'后执行就不会再出现那个奇怪的错误了。

因此我在函数中加入了如下几行代码:

var callee=arguments.callee; if(isIE&&document.readyState!='complete') return addEvent('readystatechange', function() {document.readyState == "complete"&&callee()})

通过判断readyState状态是否等于complete来决定是否执行函数中后续的代码,如果不是,则增加一个readystatechange的监听,等待document.readyState='complete'时再执行函数中的代码。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com