跳到主要内容

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 全局符号重新引入到全局范围。 请参阅 此处的示例。
    • sandbox boolean (可选) - 如果设置,这将对与窗口关联的渲染器进行沙盒处理,使其与 Chromium OS 级别的沙盒兼容,并禁用 Node.js 引擎。 这与 nodeIntegration 选项不同,并且可用于预加载脚本的 API 受到更多限制。 阅读有关 此处选项的更多信息。
    • session Session (可选) - 设置页面使用的会话。 除了直接传递 Session 对象之外,你还可以选择使用 partition 选项,该选项接受分区字符串。 当同时提供 sessionpartition 时,将优先使用 session。 默认为默认会话。
    • partition string (可选) - 根据会话的分区字符串设置页面使用的会话。 如果 partitionpersist: 开头,则页面将使用可供应用程序中具有相同 partition 的所有页面使用的持久会话。 如果没有 persist: 前缀,则页面将使用内存中的会话。 通过分配相同的 partition,多个页面可以共享相同的会话。 默认为默认会话。
    • 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 (optional) 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 (optional) Experimental - 是否使用 GPU 共享纹理来加速绘制事件。 默认为 false。 有关更多详细信息,请参阅 离屏渲染教程
    • contextIsolation boolean (可选) - 是否在单独的 JavaScript 上下文中运行 Electron API 和指定的 preload 脚本。 默认为 truepreload 脚本在其中运行的上下文只能访问其自己的专用 documentwindow 全局变量,以及它自己的一组 JavaScript 内置函数(ArrayObjectJSON 等),所有这些对于加载的内容都是不可见的。 Electron API 仅在 preload 脚本中可用,而不在加载的页面中可用。 加载可能不受信任的远程内容时,应使用此选项以确保加载的内容不会篡改 preload 脚本和正在使用的任何 Electron API。 此选项使用 Chrome 内容脚本 使用的相同技术。 你可以通过在 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-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 (optional) - 是否启用首选大小模式。 首选大小是包含文档布局所需的最小大小,而无需滚动。 启用此选项将导致在首选大小更改时在 WebContents 上发出 preferred-size-changed 事件。 默认为 false
    • transparent boolean (optional) - 是否为访客页面启用背景透明度。 默认为 true注意:访客页面的文本和背景颜色源自其根元素的 颜色方案。 启用透明度后,文本颜色仍会相应更改,但背景将保持透明。
    • enableDeprecatedPaste boolean (optional) Deprecated - 是否启用 paste execCommand。 默认为 false
    • enableCornerSmoothingCSS boolean (optional) Experimental - 是否启用 -electron-corner-smoothing CSS 规则。 默认为 true
  • paintWhenInitiallyHidden boolean (optional) - 当 showfalse 且刚创建时,渲染器是否应处于活动状态。 为了使 document.visibilityState 在首次加载时与 show: false 一起正常工作,你应该将其设置为 false。 将其设置为 false 将导致 ready-to-show 事件不触发。 默认为 true