Javascript 调用window.open()在IE 11+;Windows 8.1预览版

Javascript 调用window.open()在IE 11+;Windows 8.1预览版,javascript,asp.net-mvc,internet-explorer,windows-8.1,Javascript,Asp.net Mvc,Internet Explorer,Windows 8.1,我正在做这样的事情,MyConfig是一个aspx页面 winOpen=window.open('/Account/Register','MyConfig','toolbar=no,status=no,location=no,menubar=0,resizable=yes,scrollbars=yes,width=' + wWidth + ',height='+ wHeight + ',top=' + wTop + ',left=' +wLeft); winOpen.focus() 它返

我正在做这样的事情,MyConfig是一个aspx页面

   winOpen=window.open('/Account/Register','MyConfig','toolbar=no,status=no,location=no,menubar=0,resizable=yes,scrollbars=yes,width=' + wWidth + ',height='+ wHeight + ',top=' + wTop + ',left=' +wLeft);
winOpen.focus()

它返回null。它在chrome+Windows8.1预览版中工作正常,但在IE11中不工作

编辑


我在问题中又添加了一行,实际上,由于window.open()返回null,该行失败了,winOpen.focus()也返回null。我转到了兼容模式,然后启动了该页面。它现在给了我相同的网页错误,但我可以导航到该页面。我希望它在没有兼容模式设置的情况下工作。用户可能不知道该设置。

您的第一个参数应该是字符串,并且您缺少了一个加号

winOpen=window.open('/Account/Register','MyConfig','toolbar=no,status=no,location=no,menubar=0,resizable=yes,scrollbars=yes,width=' + wWidth + ',height=' + wHeight + ',top=' + wTop + ',left=' +wLeft);
编辑:检查并确保您的IE允许您正在测试的站点上出现弹出窗口。如果没有,并且弹出窗口没有打开,它将返回null。允许弹出窗口将解决此问题。

取消选中internet选项中的“启用受保护模式”

windows 10上的IE 11也存在同样的问题

与@Khodor解决方案不同的是,我得到了预期的行为:

  • 打开internet选项弹出窗口
  • 选择安全选项卡
  • 选中“启用保护模式”
  • 关上再打开

  • 我认为空值是由“未找到”响应、ssl、不同域等引起的。我对它们进行了测试和重新排序。

    第一个参数不是也应该是字符串吗?很抱歉,我将更新您需要调试的问题。
    wWidth
    wHeight
    wTop
    wLeft
    的值是什么?另外,是否打开了一个窗口,而变量为空?@ShadowWizard Width=1036,Height=700,Top=34,Left=165窗口并没有像IE 11那样出现。如果我转到兼容模式,窗口就会出现。