[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[转]IE 无法打开Internet站点,已终止操作

上一篇:[整理]seam Interceptor 拦截器小范例
下一篇:[学习笔记]pro javascript techniques学习笔记2

添加日期:2009/4/7 17:18:17 快速返回   返回列表 阅读7240次
微软官方说明在这里:
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
 

评论 COMMENTS
guest310983439
2009/5/19 15:38:15
我的网站www.sjcool.net,偶尔还会出现这样的问题,可我找不到原因在哪里,郁闷死了。

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved