跳到主要内容

WebPreferences Object

  • devTools boolean (可选) - 是否启用 DevTools。如果设置为 false,则无法使用 BrowserWindow.webContents.openDevTools() 打开 DevTools。默认值为 true
  • nodeIntegration boolean (可选) - 是否启用 Node.js 集成。默认值为 false
  • nodeIntegrationInWorker boolean (可选) - 是否在 web workers 中启用 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 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)。可以是 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 (可选) - 当页面进入后台时是否限制动画和计时器。这也影响页面可见性 API。当单个浏览器窗口中显示的至少一个webContents禁用了 backgroundThrottling 时,整个窗口及其显示的其他webContents都将绘制和交换帧。默认为 true
  • offscreen Object | boolean (可选) - 是否为浏览器窗口启用离屏渲染。默认为 false。更多详情请参阅离屏渲染教程
    • useSharedTexture boolean (可选) 实验性 - 是否为加速绘制事件使用 GPU 共享纹理。默认为 false。更多详情请参阅离屏渲染教程
  • contextIsolation boolean (可选) - 是否在单独的 JavaScript 上下文中运行 Electron API 和指定的 preload 脚本。默认为 true。运行 preload 脚本的上下文只能访问其自身的专用 documentwindow 全局对象,以及其自身的一组 JavaScript 内置对象 (Array, Object, JSON 等),所有这些对于加载的内容都是不可见的。Electron API 将只在 preload 脚本中可用,而不在加载的页面中。在加载潜在不受信任的远程内容时应使用此选项,以确保加载的内容无法篡改 preload 脚本和正在使用的任何 Electron API。此选项使用与 Chrome 内容脚本相同的技术。你可以在开发者工具中通过在 Console 选项卡顶部的组合框中选择 'Electron Isolated Context' 条目来访问此上下文。
  • 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-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
  • enableCornerSmoothingCSS boolean (可选) 实验性 - 是否启用-electron-corner-smoothing CSS 规则。默认值为 true