AJAXBBS.NET   yemoo's blog

专注WEB前端及RIA技术 -- XHTML/CSS/JavaScript/Ajax/RIA

导航

« 在https页面中使用iframe出现安全警告的解决方法Ext.js源码研读总结 »

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

记得从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'时再执行函数中的代码。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

About ME

  • 网名:网者归来、yemoo,长期并将继续投身于WEB前端相关技术的学习和推广的大军中,目前就职于杭州淘宝网,从事前端开发相关工作,有事可E-MAIL联系我。
  • Email1:netman8410#163.com
    Email2:yuanzhang#taobao.com
    PS:牛B都是从傻B变来的

Search

网站分类

最近发表

最新评论及回复

文章归档

Powered By Z-Blog 1.8 Arwen Build 81206  豫ICP备06015770号

Copyright 2006-2009 AJAXBBS.NET. All Rights Reserved.