3

我有一个 webapp 可以调整其窗口大小以完全适合其内容:

window.resizeTo(200,300)

人们确实喜欢以这种方式让页面适合其窗口。然而,对于 Firefox,用户打开的下一个浏览器窗口以相同的大小出现,这非常小。

有没有办法告诉 Firefox 调整当前窗口的大小,但不改变其后续窗口应该有多大的概念?

4

7 回答 7

4

人们确实喜欢以这种方式让页面适合其窗口。

哪些人?!如果一个网页对我的浏览器窗口大小有任何影响,我会非常恼火。幸运的是,FF 还允许用户禁用移动或调整现有窗口的大小,这是我多年来一直使用的功能。

您应该能够使用 以特定大小打开一个window.open窗口,因此您可以使用它......或者更好的是,只允许您的文档调整大小/重排以适应用户喜欢的任何窗口大小。

于 2008-10-08T21:14:51.170 回答
4

这里有两个不同的问题:

1. 指定窗口尺寸-

使用window.open指定窗口属性不会影响其他窗口的尺寸。
您正在从 Firefox 获得关于 resizeTo 函数的预期行为。

2.用户体验-

用户最看重的是保持对他们的环境和您的产品的控制。让他们调整浏览器窗口的大小很重要。浏览器是他们桌面机器上的一个应用程序,大多数窗口操作系统让用户可以控制窗口的大小和位置。控制窗口的大小是进入他们个人工作空间的一个步骤。

我同意@Shog9,你应该重新考虑你对 window.resizeTo. 的使用。强制窗口为任何特定大小可能是不合适的,除非是在popup的情况下。使用Liquid 布局可以帮助您为任何合理的窗口尺寸实现可接受的设计。

于 2008-10-08T21:21:50.423 回答
2

啊,我有一个天气网站这样做:尝试生成一个弹出窗口(最终成为一个新选项卡)并调整它的大小(从而调整整个 Firefox 浏览器的大小!)。

不用说我讨厌它。

一些弹出窗口被阻止,其他弹出窗口设法显示为弹出窗口,其他则转到新选项卡。这取决于生成它们的方法和浏览器/扩展设置。几乎不可能控制,更不用说跨浏览器的方式了。

现代的方式(对广告来说仍然很烦人!)是做 div 覆盖,少一点干扰。当然,它可能并不适合所有需求。

于 2008-10-08T22:11:40.213 回答
2

只是想补充一点,您最好的办法是避免使用 window.open 并改用某种 LightWindow 框架 - 更好,在所有浏览器上的行为都相同,并且不受浏览器选项的影响。您可以在此处查看示例框架http://www.stickmanlabs.com/lightwindow/

于 2008-10-09T00:05:32.433 回答
2

强烈同意几乎在所有情况下,调整视口大小的网站都非常糟糕。

应用程序窗口的大小是由用户决定的,而不是由网站所有者来决定的。

在极少数情况下,它可能有一个很好的论据,或者客户可能只是坚持它,因为“他们知道得更好”,但它总是很糟糕。

对于大多数用户来说,这是一个巨大的烦恼,尤其是当您以 1600 像素宽打开 17 个标签时,并且一些印刷设计师规定您打开的下一个标签应强制所有其他标签为 300 像素宽。

使用诸如厚/浅/灰色/细框技术之类的东西对用户来说更加友好。

我只是找到其他网站,或者运行一个greasemonkey 脚本来避免网站这样做。

只好为此吐槽。对不起。

于 2008-10-12T06:01:18.720 回答
1

作为已经提到的海报之一,唯一的方法是在通过 window.open 打开新弹出窗口时设置宽度和高度 - window.open(' http://www.google.com ', 'Test', '宽度=800,高度=800'); Window.resizeTo 从未在 Firefox 中工作过,无论出于何种原因,政治或技术。显然,Firefox 开发人员设法在 Firefox 3.01 中破坏了 window.open(),请参阅此博客文章 - http://tough-to-find.blogspot.com/2008/07/firefox-301-breaks-windowopen-width。 html

于 2008-10-08T23:57:58.157 回答
0

以下是一些相关信息,可以帮助用户阅读这篇文章。

Firefox 一直被迫取消对 window.resizeTo 的支持,并且它出现了一段时间。请参阅 http://kb.mozillazine.org/Resizing_oversize_window#JavaScript_no_longer_allowed_to_resize_windows

您可以在 Firefox 中禁用窗口大小调整:http: //www.howtogeek.com/howto/internet/firefox/disable-web-site-window-resizing-in-firefox/

如果您启用了 JavaScript 窗口大小调整但仍然无法正常工作,那么您可能安装了 Firebug。禁用 Firebug 并重新启动 Firefox,window.resizeTo 将再次起作用。见这里:https ://bugzilla.mozilla.org/show_bug.cgi?id=565541#c47

至于是否应该调整窗口大小,我想不出很多情况,但我知道一个,所以我会分享它。我编写了一个带有可选导航窗格的帮助窗口。我有一个按钮,允许用户显示/隐藏导航窗格。当他们显示它时,我会为他们调整窗口大小,以便为导航窗格留出空间。在这种情况下,它是用户发起的,所以它不会惹恼用户。但是,禁用 resizeTo 会使这变得不可能,从而降低用户体验(在这种情况下)。在大多数情况下归结为大多数工具可以用于好或坏。越体贴的人,使用酷工具的问题就越少。

于 2011-12-08T01:34:50.557 回答