在IE中通过javascript最大化弹出窗口的大小和位置

时间:2014-04-11 08:37:42

标签: javascript internet-explorer responsive-design popup

我试图通过javascript打开最大化的弹出窗口。我使用以下代码:

window.open('./foobar.html', 'foobar', 'scrollbars=no,location=no,menuBar=no,resizable=yes,status=no,toolbar=no,width='+screen.availWidth+',height='+screen.availHeight+'');

它显然适用于所有非IE浏览器,我得到一个使用全屏的弹出窗口。在Internet Explorer(11)中,它取决于站点所在的安全区域。服务器位于我们的本地Intranet中,如果我使用IP地址访问该站点,则IE切换到“Internet”"区域和弹出窗口按预期打开。

如果我使用主机名,IE使用"本地内联网"区域和突然弹出窗口的放置都是错误的(左下角和左上角的几个像素),它也比可用的屏幕尺寸大一点。

enter image description here

我尝试使用screen.height而不是screen.availHeight,我还删除了所有其他变量(滚动条,位置,menuBar,...),但结果没有改变。

到目前为止,我的解决方案是将主机名添加到"可信站点"区域或提高本地内联网的安全级别"区域到"中等"。然后它就像在其他浏览器中一样工作。

显然我想知道这里发生了什么。上面的javascript代码如何区域不同?如何在不配置任何区域,站点或安全级别的情况下,通过IE中的javascript打开最大化的弹出窗口?

1 个答案:

答案 0 :(得分:-1)

   var popFull = [
        'height='+screen.height,
        'width='+screen.width,
    // all other options
    ].join(',');

    var popup = window.open('./foobar.html', 'foobar', popFull); 
    popup.moveTo(0,0);