mck*_*k89 3 javascript iframe firefox behavior
我用这个简单的脚本在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>
Run Code Online (Sandbox Code Playgroud)
这段代码创建一个空白的iframe并将其附加到当前页面的主体,然后创建一个包含简单文本的div元素,并将其附加到iframe的主体.
在每个浏览器(IE,Safari,Chrome,Opera)中都可以使用,但是在Firefox中(我使用的是版本3.6.3),div不会出现在iframe中,也不会引发任何错误.
我认为某处肯定会有一些愚蠢的错误,但我找不到它,你有什么想法吗?
PS:这些window.setTimeout只是确保在页面和iframe中加载dom的简单方法.
您需要在超时中包装iframe文档的检索.
window.setTimeout(function(){
var doc=ifr.contentWindow.document || ifr.contentDocument;
var div=doc.createElement("div");
div.innerHTML="test";
doc.body.appendChild(div);
},500);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1728 次 |
| 最近记录: |