微软官方说明在这里: http://support.microsoft.com/kb/927917/en-us IE8似乎没事了吧。 ==============================================
http://www.ajaxbbs.net/post/webFront/IE-can-not-open-site-error.html
记得从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'时再执行函数中的代码。 =================================================== http://www.cnlei.org/blog/article.asp?id=501
在IE下,当页面还没有加载完全时,如果正在执行的JS代码中含有使用了document.createElement的话,很容易引起页面加载失败.导致提示"internet explore 无法打开internet站点 http://www.xxx.com/xxx/xxx.html 已终止操作". 这是因为: 在IE下,在加载文档的过程中,整个HTML文档的DOM结构尚未生成完整,而此时正在执行的JS就已创建出新的DOM结点了,致使DOM树的结构发生紊乱.
易出错写法:
<html> <head> <title> xxxxxxxxxxxx </title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="author" content="枫岩,CNLEI" /> <meta name="copyright" content="cnlei.y.l@gmail.com , http://www.cnlei.com" /> <meta name="keywords" content="" /> <meta name="description" content="" /> </head> <body> xxxxxxxxxxxxxxxxxx <script type="text/javascript"> <!-- (function init(){ $WIN().create({//创建复杂HTML结构 id:"lWindow_Reg", title:"注册新用户", type :"AJAX", innerHTML:'ex_reg.html' },{ top:"50px", left:"270px", width:"560px" }); })(); --> </script> xxxxxxxxxxxxxxxxxx </body> </html>
解决方法:
<html> <head> <title> xxxxxxxxxxxx </title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta name="author" content="枫岩,CNLEI" /> <meta name="copyright" content="cnlei.y.l@gmail.com , http://www.cnlei.com" /> <meta name="keywords" content="" /> <meta name="description" content="" /> </head> <body> xxxxxxxxxxxxxxxxxx <script type="text/javascript"> <!-- (function(){ function init(){ $WIN().create({//创建复杂的HTML结构 id:"lWindow_Reg", title:"注册新用户", type :"AJAX", innerHTML:'ex_reg.html' },{ top:"50px", left:"270px", width:"560px" }); }; if(!DWS.BV.isIE){//非IE浏览器直接初始化 init(); } else { //IE下,防止浏览器提示“internet explore 无法打开internet站点 已终止操作” if (document.readyState=="complete"){ init(); } else { document.onreadystatechange=function(){ if(document.readyState=="complete")init(); } } } })(); --> </script> xxxxxxxxxxxxxxxxxx </body> </html>
---------------------------------------------------
http://stauren.net/log/i3sfwwvma.html
|