我正在尝试通过 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”区域,弹出窗口的位置突然全错了(左上角下方和右侧几个像素),也有一点点大于可用的屏幕尺寸。
我尝试使用 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/