转:ie6与firefox操作iframe中DOM节点的一点不同

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

 1 <html>
 2 <body>
 3 <iframe id="myiframe"></iframe>
 4 </body>
 5 </html>
 6 <script type="text/javascript">
 7 var doc = document.getElementById('myiframe').contentWindow.document;
 8 var textNode = document.createTextNode('yes~');
 9 doc.open();
10 doc.write('<html><body></body></html>');
11 doc.close();
12 doc.body.appendChild(textNode);
13 </script>
14 
15 
16 
17 
18 
19 <html>
20 <body>
21 <iframe id="myiframe"></iframe>
22 </body>
23 </html>
24 <script type="text/javascript">
25 var doc = document.getElementById('myiframe').contentWindow.document;
26 var textNode = doc.createTextNode('yes~');
27 doc.open();
28 doc.write('<html><body></body></html>');
29 doc.close();
30 doc.body.appendChild(textNode);
31 </script>
32 
33 
34 
35 
36 
37 <html>
38 <body>
39 <iframe id="myiframe"></iframe>
40 </body>
41 </html>
42 <script type="text/javascript">
43 var doc = document.getElementById('myiframe').contentWindow.document;
44 doc.open();
45 doc.write('<html><body></body></html>');
46 doc.close();
47 var textNode = doc.createTextNode('yes~');
48 doc.body.appendChild(textNode);
49 </script>

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

IE8已和其他游览器一致了!

原文地址:https://www.cnblogs.com/chris-oil/p/4132316.html