【发布时间】:2010-07-15 12:59:31
【问题描述】:
我在 Firefox 中使用这个简单的脚本遇到了一个奇怪的行为:
<html>
<head>
<script type="text/javascript">
window.setTimeout(function(){
var ifr=document.createElement("iframe");
ifr.src="about:blank";
document.body.appendChild(ifr);
var doc=ifr.contentDocument || ifr.contentWindow.document,
div=doc.createElement("div");
div.innerHTML="test";
window.setTimeout(function(){
doc.body.appendChild(div);
},500);
},500);
</script>
</head>
</html>
这段代码创建一个空白 iframe 并将其附加到当前页面的正文中,然后它创建一个包含简单文本的 div 元素并将其附加到 iframe 的正文中。
在每个浏览器(IE、Safari、Chrome、Opera)中它都可以工作,但在 Firefox(我使用的是 3.6.3 版)中,div 不会出现在 iframe 中,也不会引发错误。
我认为某处一定有一些愚蠢的错误,但我找不到,你有什么想法吗?
PS:那些window.setTimeout只是确保dom加载到页面和iframe中的简单方法。
【问题讨论】:
标签: javascript firefox iframe behavior