依次在两个浏览器中运行以下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
	<body>
		<iframe id="myiframe"></iframe>
	</body>
</html>
<script type="text/javascript">
	var doc = document.getElementById('myiframe').contentWindow.document;
	var textNode = document.createTextNode('yes~');
	doc.open();
	doc.write('<html><body></body></html>');
	doc.close();
	doc.body.appendChild(textNode);
</script>
Copy Code | Run Code
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
	<body>
		<iframe id="myiframe"></iframe>
	</body>
</html>
<script type="text/javascript">
	var doc = document.getElementById('myiframe').contentWindow.document;
	var textNode = doc.createTextNode('yes~');
	doc.open();
	doc.write('<html><body></body></html>');
	doc.close();
	doc.body.appendChild(textNode);
</script>
Copy Code | Run Code
1
2
3
4
5
6
7
8
9
10
11
12
13
<html>
	<body>
		<iframe id="myiframe"></iframe>
	</body>
</html>
<script type="text/javascript">
	var doc = document.getElementById('myiframe').contentWindow.document;
	doc.open();
	doc.write('<html><body></body></html>');
	doc.close();
	var textNode = doc.createTextNode('yes~');
	doc.body.appendChild(textNode);
</script>
Copy Code | Run Code

三段代码在firefox下面都是ok的,但是只有第三段在ie下面能正常运行,前两段都会报参数无效的错误….
这说明在ie下只有使用iframe当前document生成的节点才能被append到DOM中,其他insertBfore..同理