原文:https://github.com/electron/electron/blob/master/docs/api/web-frame.md
譯者:Lin
自定義當(dāng)前網(wǎng)頁的繪制
進程:渲染進程
一個縮放當(dāng)前頁面到200%的例子。
const {webFrame} = require('electron')
webFrame.setZoomFactor(2)
方法
webFrame模塊有以下方法:
webFrame.
-
factorNumber類型 - 縮放因數(shù)。
改變縮放因數(shù)為指定的因數(shù)??s放因數(shù)是縮放百分比除以100,所以300% = 3.0。
webFrame.getZoomFactor()
返回值為Number類型 - 當(dāng)前的縮放因數(shù)。
webFrame.setZoomLevel(level)
-
levelNumber類型 - 縮放等級。
改變縮放等級為指定的等級。原始大小是0,每增大或減少都表示放大20%或縮小20%,默認最大是300%,最小是50%。
webFrame.getZoomLevel()
返回值為Number類型 - 當(dāng)前縮放等級。
webFrame.setZoomLevelLimits(minimumLevel, maximumLevel)
-
minimumLevelNumber類型 -
maximumLevelNumber類型
不贊成使用:調(diào)用setVisualZoomLevelLimits代替設(shè)置可見縮放等級界限。這個方法將在Electron2.0中被移除。
webFrame.setVisualZoomLevelLimits(minimumLevel, maximumLevel)
-
minimumLevelNumber類型 -
maximumLevelNumber類型
設(shè)置最大和最小的縮放等級。
webFrame.setLayoutZoomLevelLimits(minimumLevel, maximumLevel)
-
minimumLevelNumber類型 -
maximumLevelNumber類型
設(shè)置最大和最小的布局基礎(chǔ)(即非視覺上的)縮放等級。
webFrame.setSpellCheckProvider(language, autoCorrectWord, provider)
-
languageString類型 -
autoCorrectWordBoolean類型 -
providerObject類型-
spellCheckFunction類型 - 返回值為Boolean類型-
textString類型
-
-
設(shè)置一個在輸入?yún)^(qū)和文本區(qū)檢查拼寫的供應(yīng)商。
provider必須提供一個有spellCheck方法的對象,這個方法將返回單詞是否拼寫正確。
一個使用node-spellchecker作為供應(yīng)商的例子:
const {webFrame} = require('electron')
webFrame.setSpellCheckProvider('en-US', true, {
spellCheck (text) {
return !(require('spellchecker').isMisspelled(text))
}
})
webFrame.registerURLSchemeAsSecure(scheme)
-
schemeString類型
注冊一個scheme作為secure scheme.
Secure schemes不會觸發(fā)混合內(nèi)容警告。例如,https和data是secure schemes,因為他們不會被網(wǎng)絡(luò)攻擊活動破壞。
webFrame.registerURLSchemeAsBypassingCSP(scheme)
-
schemeString類型
將會從這個scheme中加載資源,而不管當(dāng)前頁面的內(nèi)容安全策略。
webFrame.registerURLSchemeAsPrivileged(scheme[, options])
-
schemeString類型 -
optionsObject類型(可選參數(shù))-
secureBoolean類型(可選參數(shù)) - 默認為true。 -
bypassCSPBoolean類型(可選參數(shù)) - 默認為true。 -
allowServiceWorkersBoolean類型(可選參數(shù)) - 默認為true。 -
supportFetchAPIBoolean類型(可選參數(shù)) - 默認為true。 -
corsEnabledBoolean類型(可選參數(shù)) - 默認為true。
-
注冊scheme為安全的,使資源繞過內(nèi)容安全策略,允許注冊ServiceWorker并支持獲取接口。
使用false指定一個選項來從注冊中忽略它。一個注冊一個沒有繞過內(nèi)容安全策略的專有scheme的例子:
const {webFrame} = require('electron')
webFrame.registerURLSchemeAsPrivileged('foo', { bypassCSP: false })
webFrame.insertText(text)
-
textString類型
插入文本到焦點元素。
webFrame.executeJavaScript(code[, userGesture, callback])
-
codeString類型 -
userGestureBoolean (optional) - 默認是false -
callbackFunction (optional) - 腳本執(zhí)行后調(diào)用。-
resultAny
-
在頁面中執(zhí)行代碼。
在瀏覽器窗口中,一些HTML接口,像requestFullScreen,只可以被用戶手勢觸發(fā)。設(shè)置userGesture為true將解除這個限制。
webFrame.getResourceUsage()
返回值為Object:
-
imagesMemoryUsageDetails類型 -
cssStyleSheetsMemoryUsageDetails類型 -
xslStyleSheetsMemoryUsageDetails類型 -
fontsMemoryUsageDetails類型 -
otherMemoryUsageDetails類型
返回一個描述Blink內(nèi)部緩存的使用信息的對象。
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()
釋放不再被使用的內(nèi)存(例如以前導(dǎo)航過的圖片)。
請注意,盲目的調(diào)用這個方法可能會造成Electron運行變得緩慢,直到再次填滿這些空的內(nèi)存,你只需要在你的應(yīng)用發(fā)生一個事件使得你認為你的頁面實際上使用更少的內(nèi)存的時候(即你從一個龐大的頁面跳轉(zhuǎn)到大部分內(nèi)容都為空的頁面,并且打算一直保持在這個頁面不動)調(diào)用這個方法。