BrowserWindowConstructorOptions 物件 繼承自 BaseWindowConstructorOptions
webPreferences
WebPreferences (選用) - 網頁功能設定。
devTools
boolean (選用) - 是否啟用 DevTools。如果設定為 false
,則無法使用 BrowserWindow.webContents.openDevTools()
開啟 DevTools。預設值為 true
。
nodeIntegration
boolean (選用) - 是否啟用 Node 整合。預設值為 false
。
nodeIntegrationInWorker
boolean (選用) - 是否在 Web Worker 中啟用 Node 整合。預設值為 false
。更多相關資訊請參閱多執行緒。
nodeIntegrationInSubFrames
boolean (選用) - 實驗性選項,用於在子框架(例如 iframe 和子視窗)中啟用 Node.js 支援。您的所有預載腳本都會為每個 iframe 載入,您可以使用 process.isMainFrame
來判斷您是否在主框架中。
preload
string (選用) - 指定一個腳本,該腳本將在頁面中執行的其他腳本之前載入。無論是否開啟 Node 整合,此腳本始終可以存取 Node API。該值應為腳本的絕對檔案路徑。當 Node 整合關閉時,預載腳本可以將 Node 全域符號重新引入到全域範圍。請參閱此處的範例 here。
sandbox
boolean (選用) - 如果設定,這將沙盒化與視窗關聯的渲染器,使其與 Chromium OS 層級的沙盒相容,並停用 Node.js 引擎。這與 nodeIntegration
選項不同,並且預載腳本可用的 API 受到更多限制。請在此處閱讀有關此選項的更多資訊 here。
session
Session (選用) - 設定頁面使用的 session。除了直接傳遞 Session 物件之外,您也可以選擇使用 partition
選項,該選項接受分割字串。當同時提供 session
和 partition
時,將優先選擇 session
。預設值為預設 session。
partition
string (選用) - 根據 session 的分割字串設定頁面使用的 session。如果 partition
以 persist:
開頭,則頁面將使用持久性 session,該 session 對應用程式中具有相同 partition
的所有頁面都可用。如果沒有 persist:
前綴,則頁面將使用記憶體內 session。透過指定相同的 partition
,多個頁面可以共用同一個 session。預設值為預設 session。
zoomFactor
number (選用) - 頁面的預設縮放比例,3.0
代表 300%
。預設值為 1.0
。
javascript
boolean (選用) - 啟用 JavaScript 支援。預設值為 true
。
webSecurity
boolean (選用) - 當 false
時,它將停用同源策略(通常是人們使用測試網站),並且如果使用者未設定此選項,則將 allowRunningInsecureContent
設定為 true
。預設值為 true
。
allowRunningInsecureContent
boolean (選用) - 允許 https 頁面從 http URL 執行 JavaScript、CSS 或外掛程式。預設值為 false
。
images
boolean (選用) - 啟用圖片支援。預設值為 true
。
imageAnimationPolicy
string (選用) - 指定如何執行圖片動畫(例如 GIF)。可以是 animate
、animateOnce
或 noAnimation
。預設值為 animate
。
textAreasAreResizable
boolean (選用) - 使 TextArea 元素可調整大小。預設值為 true
。
webgl
boolean (選用) - 啟用 WebGL 支援。預設值為 true
。
plugins
boolean (選用) - 是否應啟用外掛程式。預設值為 false
。
experimentalFeatures
boolean (選用) - 啟用 Chromium 的實驗性功能。預設值為 false
。
scrollBounce
boolean (選用) macOS - 在 macOS 上啟用捲動回彈(橡皮筋效應)。預設值為 false
。
enableBlinkFeatures
string (選用) - 以 ,
分隔的功能字串清單,例如 CSSVariables,KeyboardEventKey
以啟用。完整的支援功能字串清單可以在 RuntimeEnabledFeatures.json5 檔案中找到。
disableBlinkFeatures
string (選用) - 以 ,
分隔的功能字串清單,例如 CSSVariables,KeyboardEventKey
以停用。完整的支援功能字串清單可以在 RuntimeEnabledFeatures.json5 檔案中找到。
defaultFontFamily
Object (選用) - 設定字型系列的預設字型。
standard
string (選用) - 預設為 Times New Roman
。
serif
string (選用) - 預設為 Times New Roman
。
sansSerif
string (選用) - 預設為 Arial
。
monospace
string (選用) - 預設為 Courier New
。
cursive
string (選用) - 預設為 Script
。
fantasy
string (選用) - 預設為 Impact
。
math
string (選用) - 預設為 Latin Modern Math
。
defaultFontSize
Integer (選用) - 預設值為 16
。
defaultMonospaceFontSize
Integer (選用) - 預設值為 13
。
minimumFontSize
Integer (選用) - 預設值為 0
。
defaultEncoding
string (選用) - 預設值為 ISO-8859-1
。
backgroundThrottling
boolean (選用) - 當頁面變成背景時,是否限制動畫和計時器。這也會影響 Page Visibility API。當單一 browserWindow 中顯示的至少一個 webContents 已停用 backgroundThrottling
時,將為整個視窗和它顯示的其他 webContents 繪製和交換影格。預設值為 true
。
offscreen
Object | boolean (選用) - 是否為瀏覽器視窗啟用離螢幕渲染。預設值為 false
。請參閱 離螢幕渲染教學 以取得更多詳細資訊。
useSharedTexture
boolean (選用) 實驗性 - 是否使用 GPU 共用紋理來加速繪製事件。預設值為 false
。請參閱 離螢幕渲染教學 以取得更多詳細資訊。
contextIsolation
boolean (選用) - 是否在獨立的 JavaScript 環境中執行 Electron API 和指定的 preload
腳本。預設值為 true
。preload
腳本在其中執行的環境將僅能存取其自己的專用 document
和 window
全域變數,以及其自身的一組 JavaScript 內建函式 (Array
、Object
、JSON
等),這些函式對於載入的內容都是不可見的。Electron API 將僅在 preload
腳本中可用,而不會在載入的頁面中可用。載入可能不受信任的遠端內容時,應使用此選項,以確保載入的內容無法竄改 preload
腳本以及正在使用的任何 Electron API。此選項使用與 Chrome Content Scripts 使用的技術相同的技術。您可以透過在「Console」標籤頂部的組合方塊中選取「Electron Isolated Context」項目,在開發人員工具中存取此環境。
webviewTag
boolean (選用) - 是否啟用 <webview>
標籤。預設值為 false
。注意: 為 <webview>
配置的 preload
腳本在執行時將啟用 Node 整合,因此您應確保遠端/不受信任的內容無法建立具有可能惡意 preload
腳本的 <webview>
標籤。您可以使用 webContents 上的 will-attach-webview
事件來移除 preload
腳本,並驗證或變更 <webview>
的初始設定。
additionalArguments
string[] (選用) - 將附加到此應用程式的渲染器程序中 process.argv
的字串清單。對於將少量資料傳遞到渲染器程序預載腳本很有用。
safeDialogs
boolean (選用) - 是否啟用瀏覽器樣式的連續對話方塊保護。預設值為 false
。
safeDialogsMessage
string (選用) - 觸發連續對話方塊保護時要顯示的訊息。如果未定義,將使用預設訊息,請注意,目前預設訊息為英文,未本地化。
disableDialogs
boolean (選用) - 是否完全停用對話方塊。覆寫 safeDialogs
。預設值為 false
。
navigateOnDragDrop
boolean (選用) - 將檔案或連結拖放到頁面上是否會導致導航。預設值為 false
。
autoplayPolicy
string (選用) - 套用於視窗中內容的自動播放策略,可以是 no-user-gesture-required
、user-gesture-required
、document-user-activation-required
。預設值為 no-user-gesture-required
。
disableHtmlFullscreenWindowResize
boolean (選用) - 進入 HTML 全螢幕時是否防止視窗調整大小。預設值為 false
。
accessibleTitle
string (選用) - 僅提供給螢幕閱讀器等輔助工具的替代標題字串。此字串不會直接向使用者顯示。
spellcheck
boolean (選用) - 是否啟用內建拼字檢查器。預設值為 true
。
enableWebSQL
boolean (選用) - 是否啟用 WebSQL api。預設值為 true
。
v8CacheOptions
string (選用) - 強制執行 blink 使用的 v8 程式碼快取策略。接受的值為
none
- 停用程式碼快取
code
- 基於啟發式的程式碼快取
bypassHeatCheck
- 繞過程式碼快取啟發式方法,但使用延遲編譯
bypassHeatCheckAndEagerCompile
- 與上述相同,只是編譯是急切的。預設策略為 code
。
enablePreferredSizeMode
boolean (選用) - 是否啟用偏好大小模式。偏好大小是包含文件版面配置所需的最小大小,而無需捲動。啟用此功能將導致在偏好大小變更時,在 WebContents
上發出 preferred-size-changed
事件。預設值為 false
。
transparent
boolean (選用) - 是否為訪客頁面啟用背景透明度。預設值為 true
。注意: 訪客頁面的文字和背景顏色源自其根元素的 色彩配置。啟用透明度後,文字顏色仍會相應變更,但背景將保持透明。
enableDeprecatedPaste
boolean (選用) 已停用 - 是否啟用 paste
execCommand。預設值為 false
。
paintWhenInitiallyHidden
boolean (選用) - 當 show
為 false
且剛建立時,渲染器是否應處於活動狀態。為了使 document.visibilityState
在首次載入且 show: false
的情況下正常運作,您應將此項設定為 false
。將此項設定為 false
將導致 ready-to-show
事件不會觸發。預設值為 true
。