使用Javascript在IE8中调整浏览器窗口大小。主要解释如下:

3
我看过很多使用JavaScript调整浏览器窗口大小的例子,但对我来说它们都不能在IE中执行此功能。 我包含我的代码以查看是否有任何问题,但我只是看不到。 代码在FF中运行良好,但我所在的位置不使用它。
我不是JavaScript专家,但我也不是落后者。 如果我是新手,我会讨厌它。 我确信这与IE有关,但我无法解释。
任何帮助都将是伟大的。
代码:
  //window.sizeToContent();
  window.resizeTo(700, 700);

我在文档中看到,sizeToContent在IE中不起作用,但resize应该可以。这是一个非常简单的陈述。


2
请查看有关此方法的MSDN文章:http://msdn.microsoft.com/zh-cn/library/ms536723(VS.85).aspx - Šime Vidas
2
许多浏览器都有不允许脚本调整窗口大小的选项,因为这是被滥用的功能之一。我不确定IE8特别有没有这个选项(或者通常是否允许调整大小),但这是你应该考虑的事情。 - RoToRa
3
请不要这样做,调整窗口大小会让访客感到很烦,特别是当他们打开了多个选项卡时......虽然(至少在Firefox中)可以在浏览器选项中防止这种情况发生。 - GôTô
感谢大家的回复。我只需更改初始window.open属性,使窗口具有所需大小即可解决我的问题,以下是我尝试解决的问题:0)用户单击按钮。 1)打开新窗口(带大小的模式) 2)加载JSP 3)根据已加载的记录,页面大小是可变的。 4)如果是3,则增加窗口大小。 5)所有这些都发生在初始加载期间。 @Šime - 非常正确。我需要在onload时调整大小。 @Tim - 由于想要在onload时调整大小,因此可能不会被注意到。 @Francisco - 正如我所概述的,我正在按照你所说的做。 谢谢你们所有人的帮助。谢谢 IE - Travis Culbreth
@GôTô- 您说得对,可以调整现有窗口的大小。我当时是在寻找解决无法调整大小的方法。需要调整大小的窗口是新开的窗口,这是一个小细节,可能让您不必担心。 - Travis Culbreth
@Travis Culbreth:好的,然后当你打开窗口时,你可以使用window.open来设置大小。(http://www.w3schools.com/jsref/met_win_open.asp) - GôTô
5个回答

2

这个在Internet Explorer 8中对我有效

<html>
<head>
</head>
<body>
  <h1>Resized</h1>

<script>
  window.resizeTo(400,400);
</script>
</body>

alt text


1

我在IE9 beta上进行了一些测试(这是我在此机器上唯一拥有的IE版本),似乎window.resizeTo在初始页面加载时不起作用。如果您刷新页面,它确实可以工作。此外,如果您延迟执行它,它也可以工作:

setTimeout(function() {
    window.resizeTo(200, 200);
}, 2000);  

(至少在IE9测试版中)


1

IE上的“工作示例”之所以能够正常工作,仅因为窗口上没有其他标签页。

如果窗口加载了其他标签页,则该示例将无法工作。这是IE8及更高版本的安全措施。

如果您需要调整窗口大小,您需要打开一个新窗口。为此,您需要使用户点击一个带有window.open onclick事件的按钮,否则任何弹出窗口阻止程序都将阻止此操作。


1
谢谢。正如我上面所概述的,我正在按照您所说的做,但在加载数据页面后,窗口不会调整大小。 - Travis Culbreth

0

这似乎只适用于IE浏览器。

如果您的窗口是“对话框”类型:

window.showModalDialog(url,...)

我发现了一个不太正规的方法来使它变成正确的大小:
<script type="text/javascript">
    //window.resizeTo(1000, 790); //Will not work if its a dialog
    window.dialogWidth = '1000px';
    window.dialogHeight = '790px';
</script>

0

使用JavaScript无法可靠地调整窗口大小。在启用选项卡浏览的IE 7中不可能实现。这也可能会令用户感到烦恼。


@Henrik:这不是一个答案吗?我是说你不能在IE 7中做到这一点,而IE 7足够流行,不能被忽视,所以通常情况下是不可能的。再加上如果你调整窗口大小而没有用户触发操作,那么这将会很烦人,这就是不尝试的好理由。 - Tim Down
由于调整大小是在onload(或打开窗口期间)所需的,因此希望调整大小不会被注意到。(请参见上面的评论) - Travis Culbreth

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