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

标签 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 使用“本地 Intranet”区域,弹出窗口的位置突然全错了(左上角下方和右侧几个像素),也有一点点大于可用的屏幕尺寸。

enter image description here

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

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

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

最佳答案

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

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

关于javascript - 在 IE 中通过 javascript 最大化弹出窗口的大小和位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23007522/

相关文章:

javascript - 第二个函数有语法吗?

javascript - 如何垂直对齐 float 的、流动的 div 中的内容?

css - 如果取消 twitter bootstrap navbar collapse

javascript - Flash v11.8.800.168 函数调用在 Internet Explorer 中失败

javascript - IE 中的 InnerHTML/outerHTML 不反射(reflect)复选框状态,但在怪癖模式下除外

css - 菜单和搜索自动完成的下拉菜单在 IE 中不起作用

html - 六边形的响应网格

javascript - 如何创建一个主动切换变量的循环?

javascript - CKEditor 4 工具栏定义

javascript - 使用 grunt js,如何观察 .coffee 文件的变化?