Electron官方文档(v1.6.1)中文翻译

4. webFrame

2017-03-17  本文已影响68人  Shmily落墨

原文:https://github.com/electron/electron/blob/master/docs/api/web-frame.md
译者:Lin

自定义当前网页的绘制

进程:渲染进程

一个缩放当前页面到200%的例子。

const {webFrame} = require('electron')

webFrame.setZoomFactor(2)

方法

webFrame模块有以下方法:

webFrame.

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

webFrame.getZoomFactor()

返回值为Number类型 - 当前的缩放因数。

webFrame.setZoomLevel(level)

改变缩放等级为指定的等级。原始大小是0,每增大或减少都表示放大20%或缩小20%,默认最大是300%,最小是50%。

webFrame.getZoomLevel()

返回值为Number类型 - 当前缩放等级。

webFrame.setZoomLevelLimits(minimumLevel, maximumLevel)

不赞成使用:调用setVisualZoomLevelLimits代替设置可见缩放等级界限。这个方法将在Electron2.0中被移除。

webFrame.setVisualZoomLevelLimits(minimumLevel, maximumLevel)

设置最大和最小的缩放等级。

webFrame.setLayoutZoomLevelLimits(minimumLevel, maximumLevel)

设置最大和最小的布局基础(即非视觉上的)缩放等级。

webFrame.setSpellCheckProvider(language, autoCorrectWord, provider)

设置一个在输入区和文本区检查拼写的供应商。

provider必须提供一个有spellCheck方法的对象,这个方法将返回单词是否拼写正确。

一个使用node-spellchecker作为供应商的例子:

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

webFrame.registerURLSchemeAsSecure(scheme)

注册一个scheme作为secure scheme.

Secure schemes不会触发混合内容警告。例如,httpsdata是secure schemes,因为他们不会被网络攻击活动破坏。

webFrame.registerURLSchemeAsBypassingCSP(scheme)

将会从这个scheme中加载资源,而不管当前页面的内容安全策略。

webFrame.registerURLSchemeAsPrivileged(scheme[, options])

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

使用false指定一个选项来从注册中忽略它。一个注册一个没有绕过内容安全策略的专有scheme的例子:

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

webFrame.insertText(text)

插入文本到焦点元素。

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

在页面中执行代码。

在浏览器窗口中,一些HTML接口,像requestFullScreen,只可以被用户手势触发。设置userGesturetrue将解除这个限制。

webFrame.getResourceUsage()

返回值为Object

返回一个描述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运行变得缓慢,直到再次填满这些空的内存,你只需要在你的应用发生一个事件使得你认为你的页面实际上使用更少的内存的时候(即你从一个庞大的页面跳转到大部分内容都为空的页面,并且打算一直保持在这个页面不动)调用这个方法。

上一篇 下一篇

猜你喜欢

热点阅读