为什么以下内容在IE11中抛出"Object doesn't support property or method 'importNode'"

可以是我的“文档模式”吗?我处于“文档模式” 7。

    <!DOCTYPE html>
    <html>
    <head>
        <script>
            function go() {
              var popUp = window.open('about:blank');
              var node = document.createElement('div');
              node.textContent = 'foo';

              var importedNode = popUp.document.importNode(node, true);
              popUp.document.body.appendChild(importedNode);
            }
        </script>
    </head>
    <body>
      <button onclick="go()">Click Me</button>
    </body>
    </html>


为了澄清起见,我希望由打开器窗口创建node节点,并且我正在使用importNode尝试使其在IE中运行(Chrome不需要)。

我认为(https://msdn.microsoft.com/en-us/library/ie/gg130964%28v=vs.85%29.aspx)在IE9中添加了importNode

最佳答案

您是从硬盘本地加载页面吗?如果是这样,它很可能显示在Intranet区域中,因此默认为IE7兼容模式。您可以:


add an MOTW以便从Internet区域加载页面,
从本地Web服务器提供服务,
disable the settings会自动将Intranet区域页面设置为兼容性视图(即IE7模式)。


并且,是的,您必须处于IE9标准模式或更高版本中才能使用importNode

希望这可以帮助...

-兰斯

附言涵盖答案,每个OP。

关于javascript - 为什么以下内容在IE11中抛出“对象不支持属性或方法'importNode'”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28704520/

10-09 20:29