非常教程

Electron参考手册

网页框架 | webFrame

网页框架 | webFrame

自定义当前网页的呈现。

Process: Renderer

将当前页面缩放到200%的示例。

const {webFrame} = require('electron')

webFrame.setZoomFactor(2)

方法

webFrame模块具有以下方法:

webFrame.setZoomFactor(factor)

  • factor 数字 - 缩放系数。

将缩放系数更改为指定的系数。缩放系数是缩放百分比除以100,所以300%= 3.0。

webFrame.getZoomFactor()

返回Number- 当前缩放系数。

webFrame.setZoomLevel(level)

  • level 数字 - 缩放级别

将缩放级别更改为指定级别。原始大小为0,每个增量高于或低于分别代表缩小20%或更小,分别默认为原始大小的300%和50%。

webFrame.getZoomLevel()

返回Number- 当前缩放级别。

webFrame.setZoomLevelLimits(minimumLevel, maximumLevel)

  • minimumLevel
  • maximumLevel

弃用:setVisualZoomLevelLimits改为调用可视缩放级别限制。Electron 2.0将删除此方法。

webFrame.setVisualZoomLevelLimits(minimumLevel, maximumLevel)

  • minimumLevel
  • maximumLevel

设置最大和最小捏缩放级别。

webFrame.setLayoutZoomLevelLimits(minimumLevel, maximumLevel)

  • minimumLevel
  • maximumLevel

设置最大和最小布局(即非可视)缩放级别。

webFrame.setSpellCheckProvider(language, autoCorrectWord, provider)

  • language
  • autoCorrectWord 布尔
  • provider 对象
    • spellCheck 函数 - 返回 Boolean
      • text

为输入字段和文本区域中的拼写检查设置提供程序。

provider必须是具有一个的对象spellCheck,返回传递的字的拼写是否正确的方法。

将节点拼写检查程序用作提供程序的示例:

const {webFrame} = require('electron')
webFrame.setSpellCheckProvider('en-US', true, {
  spellCheck (text) {
    return !(require('spellchecker').isMisspelled(text))
  }
})

webFrame.registerURLSchemeAsSecure(scheme)

  • scheme

注册scheme为安全方案。

安全方案不会触发混合内容警告。例如,httpsdata是安全的方案,因为他们无法通过主动的网络攻击者破坏。

webFrame.registerURLSchemeAsBypassingCSP(scheme)

  • scheme

无论当前页面的内容安全策略如何,资源都将从此计划加载。

webFrame.registerURLSchemeAsPrivileged(scheme[, options])

  • scheme
  • options 对象(可选)
    • secure 布尔值 - (可选)默认值为true。
    • bypassCSP 布尔值 - (可选)默认值为true。
    • allowServiceWorkers 布尔值 - (可选)默认值为true。
    • supportFetchAPI 布尔值 - (可选)默认值为true。
    • corsEnabled 布尔值 - (可选)默认值为true。

注册scheme为安全,绕过资源的内容安全策略,允许注册ServiceWorker并支持获取API。

指定一个值为false从注册中省略的选项。在不绕过内容安全策略的情况下注册特权方案的示例:

const {webFrame} = require('electron')
webFrame.registerURLSchemeAsPrivileged('foo', { bypassCSP: false })

webFrame.insertText(text)

  • text

插入text到被聚焦的元素。

webFrame.executeJavaScript(code[, userGesture, callback])

  • code
  • userGesture布尔(可选) - 默认是false
  • callback 功能(可选) - 脚本执行后调用。
    • result 任何

返回Promise- 一种以执行代码的结果解决的承诺,或者如果代码的结果是被拒绝的承诺,则被拒绝。

code在页面中进行评估。

在浏览器窗口requestFullScreen中,只能通过用户的手势调用某些HTML API 。设置userGesturetrue将删除此限制。

webFrame.getResourceUsage()

返回Object

  • images MemoryUsageDetails
  • cssStyleSheets MemoryUsageDetails
  • xslStyleSheets MemoryUsageDetails
  • fonts MemoryUsageDetails
  • other MemoryUsageDetails

返回描述Blink内部内存缓存使用情况信息的对象。

const {webFrame} = require('electron')
console.log(webFrame.getResourceUsage())

这将产生:

{
  images: {
    count: 22,
    size: 2549,
    liveSize: 2542
  },
  cssStyleSheets: { /* same with "images" */ },
  xslStyleSheets: { /* same with "images" */ },
  fonts: { /* same with "images" */ },
  other: { /* same with "images" */ }
}

webFrame.clearCache()

尝试释放不再使用的内存(如上一次导航中的图像)。

请注意,盲目地调用此方法可能会使Electron变得更慢,因为它必须重新填充这些空的缓存,如果您的应用中发生的事件使您认为您的页面实际上使用的内存更少(即,您已从一个超大的页面到一个空的页面,并打算留在那里)。

网页框架 | webFrame
网页框架 | webFrame 详细
Electron

Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。

主页 https://electron.atom.io/
源码 https://github.com/electron/electron
发布版本 1.7.9