跳到主要内容

BrowserWindowConstructorOptions Object 继承自 BaseWindowConstructorOptions

  • webPreferences WebPreferences (可选) - 网页功能的设置。
    • devTools boolean (可选) - 是否启用 DevTools。如果设置为 false,则不能使用 BrowserWindow.webContents.openDevTools() 来打开 DevTools。默认值为 true
    • nodeIntegration boolean (可选) - 是否启用 Node 集成。默认值为 false
    • nodeIntegrationInWorker boolean (可选) - 是否在 web workers 中启用 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 (可选) 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。当单个 浏览器窗口 中显示的至少一个 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 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 (可选) - 是否启用首选尺寸模式。首选尺寸是包含文档布局所需的最小尺寸,无需滚动。启用此选项将在 WebContents 的首选尺寸更改时触发 preferred-size-changed 事件。默认为 false
    • transparent boolean (可选) - 是否为访客页面启用背景透明度。默认为 true注意:访客页面的文本和背景颜色取决于其根元素的 颜色方案。启用透明度时,文本颜色将相应改变,但背景将保持透明。
    • enableDeprecatedPaste boolean (可选) 已弃用 - 是否启用 paste execCommand。默认为 false
    • enableCornerSmoothingCSS boolean (可选) 实验性 - 是否启用 -electron-corner-smoothing CSS 规则。默认为 true
  • paintWhenInitiallyHidden boolean (可选) - 当 showfalse 且刚刚创建渲染器时,渲染器是否应处于活动状态。为了使 document.visibilityState 在首次加载时 show: false 时正常工作,你应该将其设置为 false。将其设置为 false 将导致不触发 ready-to-show 事件。默认为 true