Skip to main content

WebPreferences 对象

🌐 WebPreferences Object

  • devTools boolean(optional)- 是否启用开发者工具。如果设置为 false,则无法使用 BrowserWindow.webContents.openDevTools() 打开开发者工具。默认值是 true
  • nodeIntegration boolean(optional)- 是否启用节点集成。默认值是 false
  • nodeIntegrationInWorker boolean(optional)- 是否在 web worker 中启用节点集成。默认是 false。更多信息可以在多线程中找到。
  • nodeIntegrationInSubFrames boolean(optional)- 启用在子框架(如 iframe 和子窗口)中支持 Node.js 的实验性选项。你的所有预加载脚本都会在每个 iframe 中加载,你可以使用 process.isMainFrame 来确定是否在主框架中。
  • preload string(optional)- 指定一个将在页面中其他脚本运行之前加载的脚本。无论节点集成是否开启,该脚本始终可以访问节点 API。该值应为脚本的绝对文件路径。当节点集成关闭时,预加载脚本可以将节点全局符号重新引入全局作用域。示例请参见 这里
  • sandbox boolean(optional)- 如果设置,此选项将对与窗口关联的渲染器进行沙箱处理,使其与 Chromium 操作系统级沙箱兼容,并禁用 Node.js 引擎。这不同于 nodeIntegration 选项,预加载脚本可用的 API 也更有限。自 Electron 20 起,默认值为 true。当 nodeIntegration 设置为 true 时,沙箱将自动被禁用。更多关于此选项的信息请阅读 这里
  • session Session(optional)- 设置页面使用的会话。你也可以选择使用 partition 选项,而不是直接传递 Session 对象,partition 接受一个分区字符串。当同时提供 sessionpartition 时,将优先使用 session。默认值是默认会话。
  • partition string(optional)- 根据会话的分区字符串设置页面使用的会话。如果 partitionpersist: 开头,页面将使用在应用中所有具有相同 partition 的页面可用的持久会话。如果没有 persist: 前缀,页面将使用内存会话。通过分配相同的 partition,多个页面可以共享相同的会话。默认值是默认会话。
  • zoomFactor number(optional)- 页面的默认缩放比例,3.0 表示 300%。默认值是 1.0
  • javascript boolean(optional)- 启用 JavaScript 支持。默认值为 true
  • webSecurity boolean(optional)- 当 false 时,它将禁用同源策略(通常被人们用于测试网站),并在用户未设置此选项时将 allowRunningInsecureContent 设置为 true。默认值为 true
  • allowRunningInsecureContent boolean(optional)- 允许https页面运行来自http URL的JavaScript、CSS或插件。默认值是false
  • images boolean(optional)- 启用图片支持。默认值为 true
  • imageAnimationPolicy string(optional)- 指定如何运行图片动画(例如 GIF)。可以是 animateanimateOncenoAnimation。默认是 animate
  • textAreasAreResizable boolean(optional)- 使文本区域元素可调整大小。默认值是 true
  • webgl boolean(optional)- 启用 WebGL 支持。默认值为 true
  • plugins boolean(optional)- 是否应该启用插件。默认值是 false
  • experimentalFeatures boolean(optional)- 启用 Chromium 的实验性功能。默认值是 false
  • scrollBounce boolean (optional) macOS - 在 macOS 上启用滚动回弹(橡皮筋)效果。默认值为 false
  • enableBlinkFeatures string(optional)- 一个由 , 分隔的特性字符串列表,例如 CSSVariables,KeyboardEventKey 用于启用。支持的完整特性字符串列表可以在 RuntimeEnabledFeatures.json5 文件中找到。
  • disableBlinkFeatures string(optional)- 用 , 分隔的功能字符串列表,例如用 CSSVariables,KeyboardEventKey 来禁用。完整的支持功能字符串列表可以在 RuntimeEnabledFeatures.json5 文件中找到。
  • defaultFontFamily Object(optional)- 设置字体系列的默认字体。
    • standard string(optional)- 默认为 Times New Roman
    • serif string(optional)- 默认为 Times New Roman
    • sansSerif string(optional)- 默认为 Arial
    • monospace string(optional)- 默认为 Courier New
    • cursive string(optional)- 默认为 Script
    • fantasy string(optional)- 默认为 Impact
    • math string(optional)- 默认为 Latin Modern Math
  • defaultFontSize Integer(optional)- 默认为 16
  • defaultMonospaceFontSize Integer(optional)- 默认为 13
  • minimumFontSize Integer(optional)- 默认为 0
  • defaultEncoding string(optional)- 默认为 ISO-8859-1
  • backgroundThrottling boolean(optional)- 当页面进入后台时,是否限制动画和定时器。这也会影响 Page Visibility API。当在单个 browserWindow 中显示的至少一个 webContents 禁用 backgroundThrottling 时,则整个窗口及其显示的其他 webContents 的帧将被绘制和交换。默认值为 true
  • offscreen Object | boolean(optional)- 是否为浏览器窗口启用离屏渲染。默认值为 false。有关更多详细信息,请参阅离屏渲染教程
    • useSharedTexture boolean (optional) Experimental - 是否使用 GPU 共享纹理来加速绘制事件。默认为 false。有关更多详情,请参阅 离屏渲染教程
    • sharedTexturePixelFormat string (optional) Experimental - 共享纹理的请求输出格式。默认值为 argb。名称来源于 Chromium media::VideoPixelFormat 枚举后缀,并且仅支持其中的子集。纹理的实际输出像素格式和色彩空间应参考 paint 事件中的 OffscreenSharedTexture 对象。
      • argb - 请求的输出纹理格式是 8 位无符号归一化 RGBA,采用 SRGB SDR 颜色空间。
      • rgbaf16 - 请求的输出纹理格式是16位浮点RGBA,采用scRGB HDR色彩空间。
    • deviceScaleFactor number (optional) Experimental - 离屏渲染输出的设备缩放因子。如果未设置,将使用 1 作为默认值。
  • contextIsolation boolean(optional)- 是否在单独的 JavaScript 上下文中运行 Electron API 和指定的 preload 脚本。默认为 truepreload 脚本运行的上下文将只能访问其专用的 documentwindow 全局变量,以及其自己的一组 JavaScript 内置对象(ArrayObjectJSON 等),这些对加载的内容都是不可见的。Electron API 将仅在 preload 脚本中可用,而在加载的页面中不可用。当加载可能不受信任的远程内容时,应使用此选项,以确保加载的内容无法篡改 preload 脚本和任何正在使用的 Electron API。该选项使用了 Chrome 内容脚本 所采用的相同技术。你可以在开发者工具中通过在控制台标签顶部的下拉框中选择“Electron 隔离上下文”条目来访问此上下文。
  • webviewTag boolean(optional)- 是否启用 <webview> 标签。默认值为 false注意:<webview> 配置的 preload 脚本在执行时将启用节点集成,因此你应确保远程/不受信任的内容无法创建带有可能恶意 preload 脚本的 <webview> 标签。你可以使用 webContents 上的 will-attach-webview 事件来移除 preload 脚本,并验证或更改 <webview> 的初始设置。
  • additionalArguments string[](optional)- 一个字符串列表,将会被附加到此应用的渲染进程中的 process.argv。对于将少量数据传递到渲染进程的预加载脚本非常有用。
  • safeDialogs boolean(optional)- 是否启用浏览器风格的连续对话保护。默认值为 false
  • safeDialogsMessage string(optional)- 当触发连续对话保护时要显示的消息。如果未定义,将使用默认消息,请注意,目前默认消息是英文且未本地化。
  • disableDialogs boolean(optional)- 是否完全禁用对话框。将覆盖 safeDialogs。默认值为 false
  • navigateOnDragDrop boolean(optional)- 将文件或链接拖放到页面上是否会导致导航。默认值是 false
  • autoplayPolicy string(optional)- 自动播放策略将应用于窗口中的内容,可以是 no-user-gesture-requireduser-gesture-requireddocument-user-activation-required。默认为 no-user-gesture-required
  • disableHtmlFullscreenWindowResize boolean(optional)- 是否在进入 HTML 全屏时防止窗口调整大小。默认值是 false
  • accessibleTitle string(optional)- 仅提供给诸如屏幕阅读器等无障碍工具的替代标题字符串。此字符串不会直接显示给用户。
  • spellcheck boolean(optional)- 是否启用内置拼写检查器。默认值是 true
  • enableWebSQL boolean(optional)- 是否启用 WebSQL API。默认值为 true
  • v8CacheOptions string(optional)- 执行 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
  • focusOnNavigation boolean(optional)- 在导航时是否聚焦 WebContents。默认值是 true