跳至主要內容

BrowserWindowConstructorOptions 物件繼承自 BaseWindowConstructorOptions

  • webPreferences WebPreferences (選用) - 網頁功能的設定。
    • devTools boolean (選用) - 是否啟用開發者工具。如果設定為 false,則無法使用 BrowserWindow.webContents.openDevTools() 開啟開發者工具。預設為 true
    • nodeIntegration boolean (選用) - 是否啟用 Node.js 整合。預設為 false
    • nodeIntegrationInWorker boolean (選用) - 是否在 Web Worker 中啟用 Node.js 整合。預設為 false。更多資訊請參考 多執行緒
    • nodeIntegrationInSubFrames boolean (選用) - 實驗性選項,用於在子框架(例如 iframe 和子視窗)中啟用 Node.js 支援。所有預載腳本都會為每個 iframe 加載,您可以使用 process.isMainFrame 來判斷您是否在主框架中。
    • preload string (選用) - 指定一個腳本,該腳本將在頁面中的其他腳本執行之前加載。無論 Node.js 整合是否啟用,此腳本始終可以存取 Node.js API。該值應為腳本的絕對檔案路徑。當 Node.js 整合關閉時,預載腳本可以將 Node.js 全域符號重新引入到全域範圍中。請參考此處的範例。
    • sandbox boolean (選用) - 如果設定,這將沙箱化與視窗關聯的渲染器,使其與 Chromium 作業系統層級的沙箱相容,並禁用 Node.js 引擎。這與 nodeIntegration 選項不同,並且預載腳本可用的 API 更受限制。請閱讀此處以了解有關此選項的更多資訊。
    • session Session (選用) - 設定頁面使用的 Session。除了直接傳遞 Session 物件外,您也可以選擇使用 partition 選項,該選項接受一個分割字串。當同時提供 sessionpartition 時,將優先使用 session。預設為預設 Session。
    • partition string (選用) - 根據 Session 的分割字串設定頁面使用的 Session。如果 partitionpersist: 開頭,則頁面將使用一個持久性 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)。可以是 animateanimateOncenoAnimation。預設為 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 (選用) - 當頁面進入背景時,是否限制動畫和計時器。這也會影響頁面可見性 API。當單個browserWindow中顯示的至少一個webContents已禁用 backgroundThrottling 時,將為整個視窗以及它顯示的其他webContents繪製和交換幀。預設為 true
    • offscreen Object | boolean (選用) - 是否為瀏覽器視窗啟用離螢幕渲染。預設為 false。有關更多詳細資訊,請參閱離螢幕渲染教學
      • useSharedTexture boolean (選用) 實驗性 - 是否使用 GPU 共用紋理來加速繪製事件。預設為 false。有關更多詳細資訊,請參閱離螢幕渲染教學
    • contextIsolation boolean (選用) - 是否在單獨的 JavaScript 上下文中執行 Electron API 和指定的 preload 腳本。預設為 truepreload 腳本執行的上下文將僅能存取其自己專用的 documentwindow 全域變數,以及其自己的一組 JavaScript 內建物件 (ArrayObjectJSON 等),這些物件對於加載的內容都是不可見的。Electron API 將僅在 preload 腳本中可用,而不會在加載的頁面中可用。在加載可能不受信任的遠端內容時,應使用此選項,以確保加載的內容無法竄改 preload 腳本和正在使用的任何 Electron API。此選項使用 Chrome 內容腳本使用的相同技術。您可以透過在主控台標籤頂部的組合框中選取「Electron 隔離的上下文」項目,在開發工具中存取此上下文。
    • webviewTag boolean (選用) - 是否啟用 <webview> 標籤。預設為 false注意:<webview> 配置的 preload 腳本在執行時將啟用 Node.js 整合,因此您應確保遠端/不受信任的內容無法建立具有惡意 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-requireduser-gesture-requireddocument-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注意:訪客頁面的文字和背景顏色來自其根元素的 色彩配置。啟用透明度時,文字顏色仍會相應變更,但背景將保持透明。
  • paintWhenInitiallyHidden boolean (選填) - 當 showfalse 且剛建立時,渲染器是否應該處於活動狀態。為了使 document.visibilityState 在首次載入時使用 show: false 正常運作,您應該將此設定為 false。將此設定為 false 將導致 ready-to-show 事件不會觸發。預設值為 true