网页框架 | 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
数
弃用:
setVisualZoomLevelLimits
改为调用可视缩放级别限制。Electron 2.0将删除此方法。
webFrame.setVisualZoomLevelLimits(minimumLevel, maximumLevel)
minimumLevel
数
设置最大和最小捏缩放级别。
webFrame.setLayoutZoomLevelLimits(minimumLevel, maximumLevel)
minimumLevel
数
设置最大和最小布局(即非可视)缩放级别。
webFrame.setSpellCheckProvider(language, autoCorrectWord, provider)
language
串
为输入字段和文本区域中的拼写检查设置提供程序。
的provider
必须是具有一个的对象spellCheck
,返回传递的字的拼写是否正确的方法。
将节点拼写检查程序用作提供程序的示例:
const {webFrame} = require('electron')
webFrame.setSpellCheckProvider('en-US', true, {
spellCheck (text) {
return !(require('spellchecker').isMisspelled(text))
}
})
webFrame.registerURLSchemeAsSecure(scheme)
scheme
串
注册scheme
为安全方案。
安全方案不会触发混合内容警告。例如,https
与data
是安全的方案,因为他们无法通过主动的网络攻击者破坏。
webFrame.registerURLSchemeAsBypassingCSP(scheme)
scheme
串
无论当前页面的内容安全策略如何,资源都将从此计划加载。
webFrame.registerURLSchemeAsPrivileged(scheme[, options])
scheme
串
注册scheme
为安全,绕过资源的内容安全策略,允许注册ServiceWorker并支持获取API。
指定一个值为false
从注册中省略的选项。在不绕过内容安全策略的情况下注册特权方案的示例:
const {webFrame} = require('electron')
webFrame.registerURLSchemeAsPrivileged('foo', { bypassCSP: false })
webFrame.insertText(text)
text
串
插入text
到被聚焦的元素。
webFrame.executeJavaScript(code[, userGesture, callback])
code
串
返回Promise
- 一种以执行代码的结果解决的承诺,或者如果代码的结果是被拒绝的承诺,则被拒绝。
code
在页面中进行评估。
在浏览器窗口requestFullScreen
中,只能通过用户的手势调用某些HTML API 。设置userGesture
为true
将删除此限制。
webFrame.getResourceUsage()
返回Object
:
images
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变得更慢,因为它必须重新填充这些空的缓存,如果您的应用中发生的事件使您认为您的页面实际上使用的内存更少(即,您已从一个超大的页面到一个空的页面,并打算留在那里)。