WebPreferences 对象¶
devToolsboolean (optional) - 是否启用 DevTools。如果设置为false,则无法使用BrowserWindow.webContents.openDevTools()打开 DevTools。默认为true。nodeIntegrationboolean (optional) - 是否启用 Node.js 集成。默认为false。nodeIntegrationInWorkerboolean (optional) - 是否在 Web Worker 中启用 Node.js 集成。默认为false。只有本身有权访问 Node.js 的框架(主框架,或在启用nodeIntegrationInSubFrames时的任何框架)创建的 Worker 才能获得该权限。更多相关信息请参阅多线程。nodeIntegrationInSubFramesboolean (optional) - 实验性选项,用于在子框架(如 iframe 和子窗口)中启用 Node.js 支持。你的所有 preload 脚本都会在每个 iframe 中加载,你可以使用process.isMainFrame来判断自己是否处于主框架中。preloadstring (optional) - 指定一个在页面中其他脚本运行之前加载的脚本。无论是否开启 Node.js 集成,该脚本始终可以访问 Node API。该值应为脚本的绝对文件路径。当 Node.js 集成关闭时,preload 脚本可以重新将 Node 全局符号引入全局作用域。示例请见此处。sandboxboolean (optional) - 如果设置,将对与窗口关联的渲染器启用沙箱,使其与 Chromium 操作系统级沙箱兼容,并禁用 Node.js 引擎。这与nodeIntegration选项不同,且 preload 脚本可用的 API 更为有限。自 Electron 20 起默认为true。当nodeIntegration设置为true时,沙箱将自动禁用。更多关于该选项的信息请参阅此处。sessionSession (optional) - 设置页面使用的会话。除了直接传递 Session 对象外,你还可以选择使用partition选项,该选项接受一个分区字符串。当同时提供session和partition时,将优先使用session。默认为默认会话。partitionstring (optional) - 根据会话的分区字符串设置页面使用的会话。如果partition以persist:开头,页面将使用一个持久化会话,该会话可供应用中具有相同partition的所有页面使用。如果没有persist:前缀,页面将使用内存会话。通过指定相同的partition,多个页面可以共享同一个会话。默认为默认会话。zoomFactornumber (optional) - 页面的默认缩放系数,3.0表示300%。默认为1.0。zoomModestring (optional) - 页面的初始缩放模式。可用模式请参阅contents.setZoomMode。默认为'default'。javascriptboolean (optional) - 是否启用 JavaScript 支持。默认为true。webSecurityboolean (optional) - 当为false时,将禁用同源策略(通常用于人们测试网站),如果用户尚未设置allowRunningInsecureContent选项,则将其设置为true。默认为true。allowRunningInsecureContentboolean (optional) - 是否允许 HTTPS 页面运行来自 HTTP URL 的 JavaScript、CSS 或插件。默认为false。imagesboolean (optional) - 是否启用图片支持。默认为true。imageAnimationPolicystring (optional) - 指定如何运行图片动画(例如 GIF)。可以是animate、animateOnce或noAnimation。默认为animate。textAreasAreResizableboolean (optional) - 是否使 TextArea 元素可调整大小。默认为true。webglboolean (optional) - 是否启用 WebGL 支持。默认为true。pluginsboolean (optional) - 是否启用插件。默认为false。experimentalFeaturesboolean (optional) - 是否启用 Chromium 的实验性功能。默认为false。scrollBounceboolean (optional) macOS - 是否在 macOS 上启用滚动回弹(橡皮筋)效果。默认为false。enableBlinkFeaturesstring (optional) - 一个以,分隔的功能字符串列表,例如启用CSSVariables,KeyboardEventKey。支持的功能字符串的完整列表可在 RuntimeEnabledFeatures.json5 文件中找到。disableBlinkFeaturesstring (optional) - 一个以,分隔的功能字符串列表,例如禁用CSSVariables,KeyboardEventKey。支持的功能字符串的完整列表可在 RuntimeEnabledFeatures.json5 文件中找到。defaultFontFamilyObject (optional) - 设置 font-family 的默认字体。standardstring (optional) - 默认为Times New Roman。serifstring (optional) - 默认为Times New Roman。sansSerifstring (optional) - 默认为Arial。monospacestring (optional) - 默认为Courier New。cursivestring (optional) - 默认为Script。fantasystring (optional) - 默认为Impact。mathstring (optional) - 默认为Latin Modern Math。defaultFontSizeInteger (optional) - 默认为16。defaultMonospaceFontSizeInteger (optional) - 默认为13。minimumFontSizeInteger (optional) - 默认为0。defaultEncodingstring (optional) - 默认为ISO-8859-1。backgroundThrottlingboolean (optional) - 当页面进入后台时是否限制动画和定时器。这也会影响 Page Visibility API。当单个 browserWindow 中显示的至少一个 webContents 禁用了backgroundThrottling时,将为整个窗口及其显示的其他 webContents 绘制并交换帧。默认为true。offscreenObject | boolean (optional) - 是否启用浏览器窗口的离屏渲染。默认为false。更多详情请参阅离屏渲染教程。useSharedTextureboolean (optional) 实验性 - 是否使用 GPU 共享纹理来加速绘制事件。默认为false。更多详情请参阅离屏渲染教程。sharedTexturePixelFormatstring (optional) 实验性 - 请求的共享纹理输出格式。默认为argb。该名称源自 Chromiummedia::VideoPixelFormat枚举后缀,并且仅支持其中的一部分。纹理的实际输出像素格式和色彩空间应参考paint事件中的OffscreenSharedTexture对象。argb- 请求的输出纹理格式为 8 位 unorm RGBA,使用 SRGB SDR 色彩空间。rgbaf16- 请求的输出纹理格式为 16 位浮点 RGBA,使用 scRGB HDR 色彩空间。nv12- 请求的输出纹理格式为 12bpp,包含 Y 平面后跟一个 2x2 交错 UV 平面,使用 REC709 色彩空间。
deviceScaleFactornumber (optional) 实验性 - 离屏渲染输出的设备缩放系数。如果未设置,默认使用1。contextIsolationboolean (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”条目来访问此上下文。webviewTagboolean (optional) - 是否启用<webview>标签。默认为false。注意: 为<webview>配置的preload脚本在执行时将启用 Node.js 集成,因此你应确保远程/不受信任的内容无法创建带有潜在恶意preload脚本的<webview>标签。你可以使用 webContents 上的will-attach-webview事件来移除preload脚本,并验证或更改<webview>的初始设置。additionalArgumentsstring[] (optional) - 将附加到此应用渲染器进程中的process.argv的字符串列表。可用于将少量数据传递给渲染器进程的 preload 脚本。safeDialogsboolean (optional) - 是否启用浏览器风格的连续对话框保护。默认为false。safeDialogsMessagestring (optional) - 当触发连续对话框保护时显示的消息。如果未定义,将使用默认消息。请注意,当前默认消息为英文且未本地化。disableDialogsboolean (optional) - 是否完全禁用对话框。覆盖safeDialogs。默认为false。navigateOnDragDropboolean (optional) - 将文件或链接拖放到页面上是否会导致导航。默认为false。autoplayPolicystring (optional) - 应用于窗口中内容的自动播放策略,可以是no-user-gesture-required、user-gesture-required、document-user-activation-required。默认为no-user-gesture-required。disableHtmlFullscreenWindowResizeboolean (optional) - 进入 HTML 全屏时是否防止窗口调整大小。默认为false。accessibleTitlestring (optional) - 仅提供给辅助工具(如屏幕阅读器)的替代标题字符串。该字符串不会直接显示给用户。spellcheckboolean (optional) - 是否启用内置拼写检查器。默认为true。enableWebSQLboolean (optional) - 是否启用 WebSQL API。默认为true。v8CacheOptionsstring (optional) - 强制执行 blink 使用的 v8 代码缓存策略。可接受的值有:none- 禁用代码缓存code- 基于启发式的代码缓存bypassHeatCheck- 绕过代码缓存启发式,但使用惰性编译bypassHeatCheckAndEagerCompile- 与上述相同,但编译为即时编译。 默认策略为code。enablePreferredSizeModeboolean (optional) - 是否启用首选大小模式。首选大小是容纳文档布局所需的最小尺寸,无需滚动。启用此选项后,当首选大小发生变化时,WebContents上将触发preferred-size-changed事件。默认为false。transparentboolean (optional) - 是否为访客页面启用背景透明。默认为true。注意: 访客页面的文本和背景颜色源自其根元素的配色方案。启用透明后,文本颜色仍会相应变化,但背景将保持透明。-
enableDeprecatedPasteboolean (optional) 已弃用 - 是否启用pasteexecCommand。默认为false。 -
focusOnNavigationboolean(可选)- 是否在导航时聚焦 WebContents。默认为true。 disableWakeLocksboolean(可选)- 是否禁用 WebContents 的唤醒锁。默认为false。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 el/electron