访问 Internet Explorer 中的网页时,收到"操作已中止"错误消息

简介: document.body.appendChild() 会导致站点无法正常加载。出现提示:Internet Explorer无法打开Internet站点 ×××?? 已终止操作。通常这种问题只在IE中出现。

document.body.appendChild() 会导致站点无法正常加载。出现提示:Internet Explorer无法打开Internet站点 ×××?? 已终止操作。



通常这种问题只在IE中出现。而在firefox中却不会,因为Firefox的body在body标签没有被浏览器完全读入之前就存在;而IE的body则必须在body标签被浏览器完全读入之后才存在.在页面加载过程中(还未到body结束:</body>),使用document.body.appendChild()就会产生这样的错误!
解决办法:
1、在一个已加载的对象上调用appendChild(),来创建对象。
2、页面加载完毕后,再执行document.body.appendChild()动作,可以把它放到</body>后面。
3、在appendChild或者innerHTML操作处判断document.readyState=="complete",若为否,则用window.setTimeout(),来延时对document.body.appendChild()的调用。但是,此属性只对ie,opeara有效,ff的document没有readyState属性,永远是undefined.

4、在script中使用defer属性。意在页面加载完毕后再执行脚本,这样可以避免找不到对象的问题。defer不会考虑外部文件是否全部下载完,只会判当前页面是否全部加载完成。并且,有defer标签的代码块里不能写document.write方法
5、使用ajax时发生错误的解决方案:在appendChild或者innerHTML操作处判断document.readyState=="complete", 若为否,则setTimeout若干秒之后重新作这个操作。

 

<script type="text/javascript">
var tar=function()
{
    var chd=window.top.document.createElement("div");
    window.top.document.body.appendChild(chd);
}
if(document.readyState!="complete")
      window.setTimeout(tar,10);
else
      tar();
</script>


更详细的信息:http://support.microsoft.com/kb/927917

相关文章
|
4月前
|
Cloud Native Go
线上 udp 客户端请求服务端客户端句柄泄漏问题
线上 udp 客户端请求服务端客户端句柄泄漏问题
|
网络协议 Java
《bug记录》在利用TCP协议创建【服务器-客户端交互程序】中出现的一些问题
《bug记录》在利用TCP协议创建【服务器-客户端交互程序】中出现的一些问题
|
运维 安全 网络安全
.NET HttpWebRequest(请求被中止: 未能创建 SSL/TLS 安全通道)和(基础连接已经关闭: 发送时发生错误)问题查找解决
.NET HttpWebRequest(请求被中止: 未能创建 SSL/TLS 安全通道)和(基础连接已经关闭: 发送时发生错误)问题查找解决
690 0
.NET HttpWebRequest(请求被中止: 未能创建 SSL/TLS 安全通道)和(基础连接已经关闭: 发送时发生错误)问题查找解决
|
Web App开发 JavaScript 前端开发
如何处理浏览器的断网情况?
如何处理浏览器的断网情况?
如何处理浏览器的断网情况?
|
Web App开发 开发者
使用 IE 或Chrome等浏览器,通过网络抓包的形式,查看发送请求时的网络
使用 IE 或Chrome等浏览器,通过网络抓包的形式,查看发送请求时的网络
349 0
使用 IE 或Chrome等浏览器,通过网络抓包的形式,查看发送请求时的网络
|
前端开发 JavaScript Java
websocket部署后在谷歌内核浏览器异常断开问题
后端springboot前端vue开发的网页,利用websocket实现操作数据库前端网页实时刷新的功能
websocket部署后在谷歌内核浏览器异常断开问题
|
网络协议
如何处理TCPSocket客户端与服务器端连接中断后的异常
如图,我通过TCP Socket将客户端与服务器建立起双向连接,一旦我关闭客户端,服务器端就会打印如下错误消息:
如何处理TCPSocket客户端与服务器端连接中断后的异常
|
Web App开发 开发者
如何从Fiori launchpad发出的请求判断出后台是哪个网关系统在响应
我们点了Fiori launchpad后,如果想知道这个launchpad连接的后台系统是哪一个,可以通过在Chrome开发者工具观察network请求的方式弄清楚。 如下图例子,gateway系统是GM4.
如何从Fiori launchpad发出的请求判断出后台是哪个网关系统在响应