什么是我的选择,以避免此错误(和文件撰写)在Internet Explorer?(What are

2019-09-27 05:44发布

我坚持认为有太多的一些代码document.write的实例。 例如,代码将document.write一个div,然后使用DOM找到该div,那么附加<img>到它。

我试图重构相关一块看上去就像这样:

var node_to_append = document.createElement("div");
//node_name is a hardcoded constant
node_to_append.id = node_name;

var i = 0;
for( i = 0; i < request_urls.length; i++) {
    var image_to_append = document.createElement( "img" );
    image_to_append.width = 1;
    image_to_append.height = 1;
    image_to_append.alt = "";
    image_to_append.src = request_urls[ i ];
    node_to_append.appendChild( image_to_append );
}
//finally, append the div to the HTML doc
document.body.appendChild( node_to_append );

这被扔在IE错误,说“Internet Explorer无法打开Internet站点http://blah.com 。操作已中止。”

有人告诉我这是因为我需要确实使用document.write 。 我希望有一个替代方案,将允许我使用上述方法,而不是逼我把我的节点为一个字符串(如“”),并通过其追加document.write 。 任何人都可以提出一个解决我的问题?

Answer 1:

如果这段代码有它document.writes,然后它被当页面正在加载/解析运行,不是吗? 你应该换一个window.onload事件处理程序代码。 更妙的是,使用jQuery的ready事件或其他LIB的DOM准备包装。



文章来源: What are my options to avoid this error (and document.write) in Internet Explorer?