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 事件來檢視視窗是否/何時被調整了大小。