我可以调整浏览器窗口的大小吗?

Posted

技术标签:

【中文标题】我可以调整浏览器窗口的大小吗?【英文标题】:Can I resize the browser window? 【发布时间】:2011-10-24 18:23:42 【问题描述】:

我想调整浏览器弹出窗口的宽度和高度。我可以设置弹出窗口大小,但是当页面重定向到另一个页面时,我想将窗口大小转换为内容大小。

我试过了:

$(window).width(1000);  // Not working.

我该怎么做?

更新

每个人都告诉我不要这样做。为了找出这是不好的做法的确切原因,我在ux.stackexchange.com 上提问。

【问题讨论】:

“当一个页面移动到另一个页面时”是什么意思? 别再惹恼别人了。谢谢。 @ThiefMaster 不想惹恼别人。我只是希望网站不能调整我的浏览器大小,因为这对最终用户来说非常烦人。 @Shadow 意思是“当页面的 URL 改变时”。你能告诉我如何描述这个吗? @Michael:它是针对 Sangdol 的,因为自调整浏览器窗口很烦人。 【参考方案1】:

虽然您在技术上可能能够做到这一点,但实际上您不应该这样做。强制浏览器窗口的大小从根本上改变了用户的浏览体验,这不是你要做的。非常糟糕的做法和糟糕的用户体验。

编辑: 有趣的是仍然得到 cmets,但要明确这个答案是 6 岁,这是 Web 开发时代的时代。与其在上下文中编辑或删除它,我会说调查当前 web 开发用户体验实践是明智的。

【讨论】:

我在 ux.stackexchange.com 上发表了一个关于这个问题的帖子。我们可以在这里讨论这个。 ux.stackexchange.com/questions/9903/… -1 进行这样的判断时要小心,在某些情况下您可能仍希望这样做,例如在持续集成测试环境中测试窗口调整大小期间控件的行为。跨度> 用例:我必须调整窗口大小,才能为工作项目的 Web 表单页面获取格式正确的“全尺寸”屏幕截图。如果不以编程方式调整窗口大小,我无法强制引导程序更新捕获的页面布局。它只是暂时的,并在捕获后更改回设备宽度和高度。 另一个用例:我正在创建一个小型浏览器游戏,其中需要进行像素计数并且更改屏幕尺寸对于没有值中断和其他东西是理想的...... 另一个用例:我想make a browser less fingerprintable by setting the window to a specific, generic size,而不是通过拖动角来手动调整大小。【参考方案2】:

我找到了这个问题的一些答案。这个问题是重复的。但我会再次回答,因为我会整合它们并添加更多信息。

要调整窗口大小,您只需这样做:

window.resizeTo(width, height);

但是这种方法在 Chrome 和 Opera 中不起作用。 How do you resize an IE browser window to 1024 x 768

原因,来自The javascript "resizeTo" function not working in Chrome and Opera,是:

resizeTo 方法在几个浏览器中默认是禁用的,我 知道它也可以在 Firefox 中手动禁用。

它已被广泛滥用,因此大多数浏览器供应商都认为它 应该被禁用,或者至少是一个用户可控的选项。

但即使在 Chrome 或 Opera 中,该方法也适用于弹出窗口。我猜原因是浏览器供应商认为在弹出窗口中可能需要resizeTo 方法,我也这么认为。

为了讨论这个问题,我在 ux.stackexchange.com 上发表了一个关于这个问题的帖子。 https://ux.stackexchange.com/questions/9903/why-is-resizing-the-browser-window-bad-practice/9962#9962

我不确定resizeTo 方法是否在所有情况下都是邪恶的,但我确信在使用此方法时应该小心。

【讨论】:

【参考方案3】:
<script type="text/javascript">
    function changeScreenSize()         
        window.resizeTo(screen.width-300,screen.height-500)   
    
</script>

<body onload="changeScreenSize()">

【讨论】:

我没试过。但我想它有效。如果不是这样,那么这肯定有效 window.open('html page',' ','width=750,height=300') 我否决了你的答案,因为你提出了一个解决方案,然后承认甚至没有尝试过。 @Markus - 您是否尝试过验证它实际上不起作用?因为它完全可以。 SO 是关于答案,而不是关于职业道德。如果 Chhaya 可以在不测试他的解决方案的情况下正确回答,我不明白他为什么不应该这样做。你只是为了小事把一个正确的答案沉到了页面的底部。我重新投票。 为@katzenhut +1。仅仅因为您个人没有使用/测试过一个方法并不会改变决定它是否会起作用的规则。不说一个特定的词并不会改变它的含义。因此,提供包含未经测试代码的解决方案,只要它符合该脚本语言的使用指南,并不意味着答案的有效性或价值降低,只是它基于编码语言的内在知识而不是个人案例研究。【参考方案4】:

使用

window.resizeBy(relativeW, relativeH);

【讨论】:

以上是关于我可以调整浏览器窗口的大小吗?的主要内容,如果未能解决你的问题,请参考以下文章

html的高度不是浏览器调整窗口大小的100%[重复]

我想阻止我的浏览器无法调整大小

怎么调节浏览器的窗口大小,我以前是大的,现在是小的,怎么调整

禁用浏览器窗口调整大小

在窗口调整大小时动态调整画布大小

如何使用子窗口中的句柄获取父窗口的调整大小事件?