跳至主要内容

WebPreferences 对象

  • devTools 布尔值 (可选) - 是否启用 DevTools。如果设置为 false,则无法使用 BrowserWindow.webContents.openDevTools() 打开 DevTools。默认值为 true
  • nodeIntegration 布尔值 (可选) - 是否启用 Node 集成。默认值为 false
  • nodeIntegrationInWorker 布尔值 (可选) - 是否在 Web 工作线程中启用 Node 集成。默认值为 false。有关更多信息,请参阅 多线程
  • nodeIntegrationInSubFrames 布尔值 (可选) - 启用 iframe 和子窗口等子框架中的 Node.js 支持的实验性选项。所有预加载脚本都将在每个 iframe 中加载,可以使用 process.isMainFrame 判断当前是否为主框架。
  • preload 字符串 (可选) - 指定在页面中运行其他脚本之前加载的脚本。无论 Node 集成是否启用,此脚本始终可以访问 Node API。该值应为脚本的绝对文件路径。当 Node 集成关闭时,预加载脚本可以将 Node 全局符号重新引入全局作用域。请参阅 此处 的示例。
  • sandbox 布尔值 (可选) - 如果设置,这将对与窗口关联的渲染器进行沙箱化,使其与 Chromium OS 级别的沙箱兼容,并禁用 Node.js 引擎。这与 nodeIntegration 选项不同,预加载脚本可用的 API 更加有限。在此处阅读有关该选项的更多信息 此处
  • session Session (可选) - 设置页面使用的会话。除了直接传递 Session 对象外,还可以选择使用 partition 选项,该选项接受一个分区字符串。当同时提供 sessionpartition 时,将优先使用 session。默认值为默认会话。
  • partition 字符串 (可选) - 根据会话的分区字符串设置页面使用的会话。如果 partitionpersist: 开头,则页面将使用持久会话,该会话可用于应用程序中使用相同 partition 的所有页面。如果没有 persist: 前缀,则页面将使用内存中的会话。通过分配相同的 partition,多个页面可以共享相同的会话。默认值为默认会话。
  • zoomFactor 数字 (可选) - 页面的默认缩放比例,3.0 表示 300%。默认值为 1.0
  • javascript 布尔值 (可选) - 启用 JavaScript 支持。默认值为 true
  • webSecurity 布尔值 (可选) - 当为 false 时,将禁用同源策略(通常用于人们测试网站),如果用户未设置此选项,则将 allowRunningInsecureContent 设置为 true。默认值为 true
  • allowRunningInsecureContent 布尔值 (可选) - 允许 https 页面运行来自 http URL 的 JavaScript、CSS 或插件。默认值为 false
  • images 布尔值 (可选) - 启用图像支持。默认值为 true
  • imageAnimationPolicy 字符串 (可选) - 指定如何运行图像动画(例如 GIF)。可以是 animateanimateOncenoAnimation。默认值为 animate
  • textAreasAreResizable 布尔值 (可选) - 使 TextArea 元素可调整大小。默认值为 true
  • webgl 布尔值 (可选) - 启用 WebGL 支持。默认值为 true
  • plugins 布尔值 (可选) - 是否应启用插件。默认值为 false
  • experimentalFeatures 布尔值 (可选) - 启用 Chromium 的实验性功能。默认值为 false
  • scrollBounce 布尔值 (可选) macOS - 在 macOS 上启用滚动反弹(橡皮筋效果)。默认值为 false
  • enableBlinkFeatures 字符串 (可选) - 由 , 分隔的功能字符串列表,例如 CSSVariables,KeyboardEventKey 用于启用。可以在 RuntimeEnabledFeatures.json5 文件中找到支持的功能字符串的完整列表。
  • disableBlinkFeatures 字符串 (可选) - 由 , 分隔的功能字符串列表,例如 CSSVariables,KeyboardEventKey 用于禁用。可以在 RuntimeEnabledFeatures.json5 文件中找到支持的功能字符串的完整列表。
  • defaultFontFamily 对象 (可选) - 设置字体系列的默认字体。
    • standard 字符串 (可选) - 默认值为 Times New Roman
    • serif 字符串 (可选) - 默认值为 Times New Roman
    • sansSerif 字符串 (可选) - 默认值为 Arial
    • monospace 字符串 (可选) - 默认值为 Courier New
    • cursive 字符串 (可选) - 默认值为 Script
    • fantasy 字符串 (可选) - 默认值为 Impact
    • math 字符串 (可选) - 默认值为 Latin Modern Math
  • defaultFontSize 整数 (可选) - 默认值为 16
  • defaultMonospaceFontSize 整数 (可选) - 默认值为 13
  • minimumFontSize 整数 (可选) - 默认值为 0
  • defaultEncoding 字符串 (可选) - 默认值为 ISO-8859-1
  • backgroundThrottling 布尔值 (可选) - 当页面变为后台时,是否节流动画和计时器。这也影响 页面可见性 API。当单个 browserWindow 中显示的至少一个 webContents 已禁用 backgroundThrottling 时,将为整个窗口和其他 webContents 绘制和交换帧。默认值为 true
  • offscreen 布尔值 (可选) - 是否为浏览器窗口启用离屏渲染。默认值为 false。有关更多详细信息,请参阅 离屏渲染教程
  • contextIsolation 布尔值 (可选) - 是否在单独的 JavaScript 上下文中运行 Electron API 和指定的 preload 脚本。默认值为 truepreload 脚本运行的上下文将仅访问其自己的专用 documentwindow 全局变量,以及它自己的 JavaScript 内置函数集(ArrayObjectJSON 等),这些都对加载的内容不可见。Electron API 将仅在 preload 脚本中可用,而不在加载的页面中可用。在加载可能不受信任的远程内容时应使用此选项,以确保加载的内容无法篡改 preload 脚本和任何正在使用的 Electron API。此选项使用与 Chrome 内容脚本 相同的技术。可以通过在控制台选项卡顶部的组合框中选择“Electron Isolated Context”条目来访问开发工具中的此上下文。
  • webviewTag 布尔值 (可选) - 是否启用 <webview> 标签。默认值为 false注意:<webview> 配置的 preload 脚本在执行时将启用 Node 集成,因此应确保远程/不受信任的内容无法使用可能存在恶意 preload 脚本的 <webview> 标签。可以使用 webContents 上的 will-attach-webview 事件来去除 preload 脚本,并验证或更改 <webview> 的初始设置。
  • additionalArguments 字符串数组 (可选) - 将追加到应用程序渲染器进程的 process.argv 中的字符串列表。用于将少量数据传递到渲染器进程预加载脚本中。
  • safeDialogs 布尔值(可选) - 是否启用浏览器样式的连续对话框保护。默认值为 false
  • safeDialogsMessage 字符串(可选) - 触发连续对话框保护时显示的消息。如果未定义,将使用默认消息,请注意,目前默认消息为英文,未本地化。
  • disableDialogs 布尔值(可选) - 是否完全禁用对话框。覆盖 safeDialogs。默认值为 false
  • navigateOnDragDrop 布尔值(可选) - 是否将文件或链接拖放到页面上会导致导航。默认值为 false
  • autoplayPolicy 字符串(可选) - 应用于窗口内容的自动播放策略,可以是 no-user-gesture-requireduser-gesture-requireddocument-user-activation-required。默认为 no-user-gesture-required
  • disableHtmlFullscreenWindowResize 布尔值(可选) - 是否阻止窗口在进入 HTML 全屏时调整大小。默认值为 false
  • accessibleTitle 字符串(可选) - 仅提供给辅助工具(如屏幕阅读器)的替代标题字符串。此字符串对用户不可见。
  • spellcheck 布尔值(可选) - 是否启用内置拼写检查器。默认值为 true
  • enableWebSQL 布尔值(可选) - 是否启用 WebSQL api。默认值为 true
  • v8CacheOptions 字符串(可选) - 强制 blink 使用的 v8 代码缓存策略。接受的值为
    • none - 禁用代码缓存
    • code - 基于启发式的代码缓存
    • bypassHeatCheck - 绕过代码缓存启发式方法,但使用延迟编译
    • bypassHeatCheckAndEagerCompile - 与上面相同,但编译是急切的。默认策略为 code
  • enablePreferredSizeMode 布尔值(可选) - 是否启用首选大小模式。首选大小是包含文档布局所需的最小大小 - 无需滚动。启用此功能将导致 preferred-size-changed 事件在 WebContents 上发出,当首选大小更改时。默认值为 false
  • transparent 布尔值(可选) - 是否为访客页面启用背景透明度。默认值为 true注意:访客页面的文本和背景颜色来自其根元素的 颜色方案。启用透明度后,文本颜色将相应更改,但背景将保持透明。