如何使用Javascript在IE6中打开一个“最大化”窗口?

6
有什么想法吗?
遇到的问题:在window.open中使用screen.availHeight和screen.availWidth作为高度和宽度参数会导致浏览器大小包括任务栏,并且定位在(0,0)会忽略任务栏可能在那里的情况。
我想要的是打开一个新窗口,其大小好像被用户“最大化”了一样,即它不应该覆盖Windows任务栏。
(哦,不需要提醒我用户不喜欢JavaScript干扰他们的浏览器窗口等。这是用于内部Intranet Web应用程序...)
7个回答

4
这会导致相同的问题吗?
<script type="text/javascript">

    window.moveTo(0,0);
    window.resizeTo(screen.width,screen.height);

</script>

这似乎在我的机器上引起了不同的问题。任务栏没有被覆盖,但窗口的一部分被覆盖了(即它位于任务栏后面)。是否可能打开一个“正确”的最大化窗口?即无法从工具栏拖动或调整大小,并显示恢复下来按钮而不是最大化按钮? - Loftx
尝试使用screen.availWidth和screen.availHeight代替screen.width和screen.height。据我所知,没有办法打开一个正确最大化的窗口,只能打开占据整个屏幕的窗口。 - sakabako

1

这可能接近你想要的:

window.moveTo(screen.width - screen.availWidth,
              screen.height - screen.availHeight);
window.resizeTo(screen.availWidth + screen.availWidth - screen.width,
                screen.availHeight + screen.availHeight - screen.height);

这也不起作用 - moveTo函数考虑了任务栏的位置,因此窗口在屏幕上的位置太低。 - Loftx

1

尝试使用此代码打开最大化,以及删除选项来锁定用户,防止他们误操作您的内部网站。您可以根据需要自定义限制。

function openFullscreen(url)
{

 // get the height correction for IE and set the window height and width
 var height = screen.availHeight;
 var width = screen.availWidth;

 var fullscreen = (document.all) ? "no" : "yes";
 var resizable = "no";
 var toolbar = "no";
 var status = "no";
 var left = 0;
 var top = 0;

 //set window properties
 props = "toolbar=no" +
 ",fullscreen=" + fullscreen +
 ",status=no" +
 ",resizable=no" +
 ",scrollbars=no" +
 ",menubar=no" +
 ",location=no" + ",";

 dims = "width="+ width +
 ",height="+ height +
 ",left="+ left +
 ",top=" + top;

 var win = window.open("", name, props + dims);
 win.resizeTo(width, height);
 win.location.href = url;
 win.focus();
}

1

不幸的是,IE(8-)不支持availLeft/availTop属性...


0

快速浏览一下,似乎

window.moveTo(screen.availLeft, screen.availTop);
window.resizeTo(screen.availWidth, screen.availHeight);

可能是最好的方法 - 我相信这应该返回可用屏幕宽度(如果您有多个监视器,则似乎在单个监视器上工作)。

然而,这并不是完美的解决方案 - 如果其他人有任何关于如何打开真正最大化窗口的建议,我很感兴趣听听。


0
<script type="text/javascript">    
 window.moveTo(screen.width-screen.availWidth,screen.height-screen.availHeight);
 window.resizeTo(screen.availWidth,screen.availHeight);
</script>

-1
这段代码会打开一个窗口,并将其最大化,但是否会最大化打开从该窗口中链接的页面?
我在关闭 head 标签前加了base target=main。非常重要的是,在关闭 head 标签前,此代码应该是最后一个标签,如果页面中的任何链接有target="_parent"
如果在按钮代码中省略了大小并具有指定目标标记,则来自您页面的任何内容都将以全屏方式打开target="parent"
我尝试了所有的代码,但是有些代码在几个链接后就失效了。 哦,我刚才展示的方式可以实现真正的全屏,而不是浮动窗口。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接