Javascript 为什么下面的语句会抛出一个“quot;对象没有';t支持属性或方法';importNode'&引用;在IE11中?

Javascript 为什么下面的语句会抛出一个“quot;对象没有';t支持属性或方法';importNode'&引用;在IE11中?,javascript,internet-explorer,Javascript,Internet Explorer,为什么下面的语句会抛出一个“对象不支持IE11中的属性或方法'importNode'” 这可能是我的“文档模式”吗?我处于“文档模式”7 函数go(){ var popUp=window.open('about:blank'); var节点=document.createElement('div'); node.textContent='foo'; var importedNode=popUp.document.importNode(节点,true); popUp.document.body.

为什么下面的语句会抛出一个
“对象不支持IE11中的属性或方法'importNode'”

这可能是我的“文档模式”吗?我处于“文档模式”7


函数go(){
var popUp=window.open('about:blank');
var节点=document.createElement('div');
node.textContent='foo';
var importedNode=popUp.document.importNode(节点,true);
popUp.document.body.appendChild(导入节点);
}
点击我
为了澄清,我希望节点,
node
由opener窗口创建,我正在使用
importNode
尝试在IE中实现这一点(Chrome不需要它)


我想,
importNode
是在IE9()中添加的。

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

  • 要从Internet区域加载页面
  • 从本地web服务器提供服务
  • 自动将Intranet区域页面设置为兼容性视图(又称IE7模式) 而且,是的,您必须处于IE9标准模式或更高版本才能使用

    希望这有助于

    --长矛


    p.S.根据操作隐藏回答。

    关于:空白
    没有DTD,因此
    弹出
    进入怪癖模式?而且你肯定应该在IE9模式下使用IE9中引入的功能…我认为IE不支持
    importNode
    ,即使它存在。我在IE 11中得到了
    不支持的此类接口
    ,而且@Teemu文档模式是否对应于浏览器版本号?如果是这样的话,为什么IE会在上面的代码/标记的情况下进入模式7。几乎是的,除了最后一个版本也可以用“edge”来引用之外。只要省略任何
    x-ua
    meta标记并使用适当的html5 DTD,这将是让IE9像现代浏览器一样工作的最佳选择。如果兼容模式自动激活,请。但上面的doctype是否有效?另外,我是否可以成功地将doctype注入about:blank以避免目标中的怪癖模式?
        <!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>