Window:resizeBy() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Window.resizeBy() 方法通过指定量来调整当前窗口的大小。

语法

js
resizeBy(xDelta, yDelta)

参数

xDelta

水平方向上增加窗口的像素数。

yDelta

垂直方向上增加窗口的像素数。

返回值

无(undefined)。

示例

js
// Shrink the window
window.resizeBy(-200, -200);

注意

此方法相对于当前尺寸调整窗口大小。要以绝对尺寸调整窗口大小,请使用 window.resizeTo()

创建和调整外部窗口大小

出于安全原因,Firefox 不再允许网站更改浏览器窗口的默认大小,除非该窗口是由 window.open() 创建的,或者包含多个标签页。有关更改的详细信息,请参阅兼容性表格。

即使您通过 window.open() 创建窗口,默认情况下它的大小也是不可调整的。 要使窗口可调整大小,必须使用 "resizable" 功能打开它。

js
// Create resizable window
myExternalWindow = window.open(
  "https://example.com",
  "myWindowName",
  "resizable",
);

// Resize window to 500x500
myExternalWindow.resizeTo(500, 500);

// Make window relatively smaller to 400x400
myExternalWindow.resizeBy(-100, -100);

您创建的窗口必须遵守同源策略。如果您打开的窗口与当前窗口不是同源的,您将无法调整该窗口/标签页的大小,也无法访问其任何信息。

规范

规范
CSSOM 视图模块
# dom-window-resizeby

浏览器兼容性

注意:此函数可能不会同步调整窗口大小。在某些环境(如移动设备)中,它可能根本不会调整窗口大小。您可以监听 resize 事件来查看窗口是否/何时被调整了大小。