WebPreferences 对象
🌐 WebPreferences Object
devTools布尔值(可选)- 是否启用开发者工具。如果设置为false,将无法使用BrowserWindow.webContents.openDevTools()打开开发者工具。默认值为true。nodeIntegration布尔值(可选)- 是否启用节点集成。默认值为false。nodeIntegrationInWorker布尔值(可选)- 是否在 web workers 中启用节点集成。默认值为false。更多信息可参见 多线程。nodeIntegrationInSubFrames布尔值(可选)- 用于在子框架(如 iframes 和子窗口)中启用 Node.js 支持的实验性选项。你的所有预加载脚本将在每个 iframe 中加载,你可以使用process.isMainFrame来判断是否在主框架中。preload字符串(可选)- 指定一个将在页面其他脚本运行之前加载的脚本。无论是否开启 Node 集成,该脚本总是可以访问 Node API。该值应该是脚本的绝对文件路径。当关闭 Node 集成时,预加载脚本可以将 Node 全局符号重新引入到全局作用域中。示例请参见 这里。sandbox布尔值(可选) - 如果设置此选项,将会对与窗口相关联的渲染器进行沙箱处理,使其兼容 Chromium 的操作系统级沙箱,并禁用 Node.js 引擎。这与nodeIntegration选项不同,并且预加载脚本可用的 API 更有限。自 Electron 20 起,默认值为true。当nodeIntegration设置为true时,沙箱会自动禁用。更多关于该选项的信息请参见 这里。session会话(可选)- 设置页面使用的会话。你可以选择直接传递 Session 对象,也可以使用partition选项,它接受一个分区字符串。当同时提供session和partition时,将优先使用session。默认值为默认会话。partition字符串(可选)- 根据会话的分区字符串设置页面使用的会话。如果partition以persist:开头,页面将使用对应用中具有相同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)。可以是animate、animateOnce或noAnimation。默认值是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。当一个单独的 浏览器窗口 中至少有一个 webContents 禁用了backgroundThrottling,整个窗口以及该窗口中显示的其他 webContents 的帧都会被绘制和交换。默认值为true。offscreen对象 | 布尔值(可选)- 是否为浏览器窗口启用屏幕外渲染。默认为false。查看更多详情,请参阅 屏幕外渲染教程。useSharedTexture布尔值(可选)实验性 - 是否使用 GPU 共享纹理来加速绘制事件。默认为false。更多详情请参见 离屏渲染教程。sharedTexturePixelFormat字符串(可选)实验性 - 所请求的共享纹理输出格式。默认值为argb。名称来源于 Chromiummedia::VideoPixelFormat枚举后缀,仅支持其中的部分子集。纹理的实际输出像素格式和色彩空间应参考paint事件中的OffscreenSharedTexture对象。argb- 请求的输出纹理格式是 8 位无符号归一化 RGBA,采用 SRGB SDR 颜色空间。rgbaf16- 请求的输出纹理格式是16位浮点RGBA,采用scRGB HDR色彩空间。
contextIsolation布尔值(可选)- 是否在单独的 JavaScript 上下文中运行 Electron API 和指定的preload脚本。默认为true。preload脚本运行的上下文仅能访问其专属的document和window全局变量,以及其自身的一套 JavaScript 内置对象(Array、Object、JSON等),这些对于已加载的内容都是不可见的。Electron API 只会在preload脚本中可用,而对已加载的页面不可用。当加载可能不受信任的远程内容时,应使用此选项以确保加载的内容无法篡改preload脚本和正在使用的任何 Electron API。此选项使用了与 Chrome 内容脚本 相同的技术。你可以在开发者工具中通过在控制台标签顶部的下拉框中选择 "Electron Isolated Context" 条目来访问此上下文。webviewTag布尔值(可选)- 是否启用<webview>标签。默认值为false。注意: 当为<webview>配置的preload脚本执行时,会启用节点集成,因此你应确保远程/不可信的内容无法创建带有可能恶意preload脚本的<webview>标签。你可以使用 webContents 上的will-attach-webview事件来剥离preload脚本,并验证或修改<webview>的初始设置。additionalArgumentsstring[](可选)- 一个字符串列表,将在此应用的渲染进程中附加到process.argv。对于向渲染进程预加载脚本传递少量数据非常有用。safeDialogs布尔值(可选)- 是否启用浏览器样式的连续对话保护。默认值为false。safeDialogsMessage字符串(可选)- 当触发连续对话保护时显示的消息。如果未定义,将使用默认消息,注意当前默认消息是英文的,尚未本地化。disableDialogs布尔值(可选)- 是否完全禁用对话框。会覆盖safeDialogs。默认值为false。navigateOnDragDrop布尔值(可选)- 拖放文件或链接到页面上是否会导致页面导航。默认值是false。autoplayPolicy字符串(可选)- 要应用于窗口中内容的自动播放策略,可以是no-user-gesture-required、user-gesture-required、document-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布尔值(可选)- 是否启用首选尺寸模式。首选尺寸是容纳文档布局所需的最小尺寸——无需滚动。启用此功能将在首选尺寸变化时在WebContents上触发preferred-size-changed事件。默认值为false。transparent布尔值(可选)- 是否为访客页面启用背景透明。默认值为true。注意: 访客页面的文本和背景颜色来源于其根元素的 配色方案。启用透明后,文本颜色仍会相应变化,但背景将保持透明。enableDeprecatedPaste布尔值(可选)已弃用 - 是否启用pasteexecCommand。默认值为false。focusOnNavigation布尔值(可选)- 在导航时是否聚焦 WebContents。默认值为true。