跳转至

WebPreferences 对象

  • devTools boolean (optional) - 是否启用 DevTools。如果设置为 false,则无法使用 BrowserWindow.webContents.openDevTools() 打开 DevTools。默认为 true。
  • nodeIntegration boolean (optional) - 是否启用 Node.js 集成。默认为 false。
  • nodeIntegrationInWorker boolean (optional) - 是否在 Web Worker 中启用 Node.js 集成。默认为 false。只有本身有权访问 Node.js 的框架(主框架,或在启用 nodeIntegrationInSubFrames 时的任何框架)创建的 Worker 才能获得该权限。更多相关信息请参阅多线程。
  • nodeIntegrationInSubFrames boolean (optional) - 实验性选项,用于在子框架(如 iframe 和子窗口)中启用 Node.js 支持。你的所有 preload 脚本都会在每个 iframe 中加载,你可以使用 process.isMainFrame 来判断自己是否处于主框架中。
  • preload string (optional) - 指定一个在页面中其他脚本运行之前加载的脚本。无论是否开启 Node.js 集成,该脚本始终可以访问 Node API。该值应为脚本的绝对文件路径。当 Node.js 集成关闭时,preload 脚本可以重新将 Node 全局符号引入全局作用域。示例请见此处。
  • sandbox boolean (optional) - 如果设置,将对与窗口关联的渲染器启用沙箱,使其与 Chromium 操作系统级沙箱兼容,并禁用 Node.js 引擎。这与 nodeIntegration 选项不同,且 preload 脚本可用的 API 更为有限。自 Electron 20 起默认为 true。当 nodeIntegration 设置为 true 时,沙箱将自动禁用。更多关于该选项的信息请参阅此处。
  • session Session (optional) - 设置页面使用的会话。除了直接传递 Session 对象外,你还可以选择使用 partition 选项,该选项接受一个分区字符串。当同时提供 session 和 partition 时,将优先使用 session。默认为默认会话。
  • partition string (optional) - 根据会话的分区字符串设置页面使用的会话。如果 partition 以 persist: 开头,页面将使用一个持久化会话,该会话可供应用中具有相同 partition 的所有页面使用。如果没有 persist: 前缀,页面将使用内存会话。通过指定相同的 partition,多个页面可以共享同一个会话。默认为默认会话。
  • zoomFactor number (optional) - 页面的默认缩放系数,3.0 表示 300%。默认为 1.0。
  • zoomMode string (optional) - 页面的初始缩放模式。可用模式请参阅 contents.setZoomMode。默认为 'default'。
  • 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)。可以是 animate、animateOnce 或 noAnimation。默认为 animate。
  • textAreasAreResizable boolean (optional) - 是否使 TextArea 元素可调整大小。默认为 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) - 设置 font-family 的默认字体。
  • 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) 实验性 - 是否使用 GPU 共享纹理来加速绘制事件。默认为 false。更多详情请参阅离屏渲染教程。
  • sharedTexturePixelFormat string (optional) 实验性 - 请求的共享纹理输出格式。默认为 argb。该名称源自 Chromium media::VideoPixelFormat 枚举后缀,并且仅支持其中的一部分。纹理的实际输出像素格式和色彩空间应参考 paint 事件中的 OffscreenSharedTexture 对象。
    • argb - 请求的输出纹理格式为 8 位 unorm RGBA,使用 SRGB SDR 色彩空间。
    • rgbaf16 - 请求的输出纹理格式为 16 位浮点 RGBA,使用 scRGB HDR 色彩空间。
    • nv12 - 请求的输出纹理格式为 12bpp,包含 Y 平面后跟一个 2x2 交错 UV 平面,使用 REC709 色彩空间。
  • deviceScaleFactor number (optional) 实验性 - 离屏渲染输出的设备缩放系数。如果未设置,默认使用 1。
  • contextIsolation boolean (optional) - 是否在单独的 JavaScript 上下文中运行 Electron API 和指定的 preload 脚本。默认为 true。preload 脚本运行的上下文只能访问其专用的 document 和 window 全局对象,以及其自身的 JavaScript 内置对象(Array、Object、JSON 等),这些对象对加载的内容都不可见。Electron API 仅在 preload 脚本中可用,而在加载的页面中不可用。在加载可能不受信任的远程内容时,应使用此选项,以确保加载的内容无法篡改 preload 脚本和所使用的任何 Electron API。此选项使用与 Chrome Content Scripts 相同的技术。你可以在开发者工具中通过选择 Console 选项卡顶部组合框中的“Electron Isolated Context”条目来访问此上下文。
  • webviewTag boolean (optional) - 是否启用 <webview> 标签。默认为 false。注意: 为 <webview> 配置的 preload 脚本在执行时将启用 Node.js 集成,因此你应确保远程/不受信任的内容无法创建带有潜在恶意 preload 脚本的 <webview> 标签。你可以使用 webContents 上的 will-attach-webview 事件来移除 preload 脚本,并验证或更改 <webview> 的初始设置。
  • additionalArguments string[] (optional) - 将附加到此应用渲染器进程中的 process.argv 的字符串列表。可用于将少量数据传递给渲染器进程的 preload 脚本。
  • safeDialogs boolean (optional) - 是否启用浏览器风格的连续对话框保护。默认为 false。
  • safeDialogsMessage string (optional) - 当触发连续对话框保护时显示的消息。如果未定义,将使用默认消息。请注意,当前默认消息为英文且未本地化。
  • disableDialogs boolean (optional) - 是否完全禁用对话框。覆盖 safeDialogs。默认为 false。
  • navigateOnDragDrop boolean (optional) - 将文件或链接拖放到页面上是否会导致导航。默认为 false。
  • autoplayPolicy string (optional) - 应用于窗口中内容的自动播放策略,可以是 no-user-gesture-required、user-gesture-required、document-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) 已弃用 - 是否启用 paste execCommand。默认为 false。

  • focusOnNavigation boolean(可选)- 是否在导航时聚焦 WebContents。默认为 true。

  • disableWakeLocks boolean(可选)- 是否禁用 WebContents 的唤醒锁。默认为 false。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 el/electron