IT布道者Electron官方文档(v1.6.1)中文翻译

17. webContents

2017-03-09  本文已影响907人  Shmily落墨

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

渲染和控制网页

进程:主进程

webContents是一个EventEmitter。它负责渲染和控制一个网页,并且是BrowserWindow对象的一个属性。一个访问webContents对象的例子:

const {BrowserWindow} = require('electron')

let win = new BrowserWindow({width: 800, height: 1500})
win.loadURL('http://github.com')

let contents = win.webContents
console.log(contents)

<h2 id="Methods">方法</h2>

这里的方法可以通过webContents模块来访问:

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

<h3 id="webContents-getAllWebContents"><code>webContents.getAllWebContents()</code></h3>

返回值为WebContents[]类型 - 所有WebContents实例组成的数组。这个将包含所有窗口、webview、打开的工具、和工具扩展北京页面的网络内容。

<h3 id="webContents-getFocusedWebContents"><code>webContents.getFocusedWebContents()</code></h3>

返回值为WebContents类型 - 应用中的获得焦点的网络内容,如果没有就返回null

<h3 id="webContents-fromId"><code>webContents.fromId(id)</code></h3>

返回值为WebContents类型 - 通过给的ID获取一个对应的WebContents实例。

<h2 id="class-webcontents">Class: WebContents</h2>

渲染和控制一个BrowserWindow实例的内容。

进程:主进程

<h3 id="instance-events">实例事件</h3>

<h4 id="event-did-finish-load">事件:'did-finish-load'</h4>

当导航被加载完成时被分发,即标签上的旋转标志已经停止旋转,并且onload事件被分发。

<h4 id="event-did-fail-load">事件:'did-fail-load'</h4>

返回值为:

这个事件和did-finish-load类似,但是是在当加载失败或者取消加载的时候被分发,例如window.stop()被调用。完整的错误代码列表和它们对应的意思在这里

<h4 id="event-did-frame-finish-load">事件:'did-frame-finish-load'</h4>

返回值为:

当一个frame完成导航的时候被分发。

<h4 id="event-did-start-loading">事件:'did-start-loading'</h4>

当标签上的旋转标志开始旋转时的时间点上。

<h4 id="event-did-stop-loading">事件:'did-stop-loading'</h4>

当标签上的旋转标志停止旋转时的时间点上。

<h4 id="event-did-get-response-details">事件:'did-get-response-details'</h4>

返回值为:

当关于一个请求资源的详细信息有效时被分发。status标识着socket连接到了下载的资源上。

<h4 id="event-did-get-redirect-request">事件:'did-get-redirect-request'</h4>

返回值为:

当一个请求资源收到一个重定向时被分发。

<h4 id="event-dom-ready">事件:'dom-ready'</h4>

返回值为:

当给定的frame中的文档被加载的时候被分发。

<h4 id="event-page-favicon-updated">事件:'page-favicon-updated'</h4>

返回值为:

当页面收到网站图标地址时被分发。

<h4 id="event-new-window">事件:'new-window'</h4>

返回值为:

当页面请求通过一个url打开一个新的窗口时被分发。它可以被window.open或一个像<a target='_blank'>似的外部链接所请求。

默认情况下会通过这个url创建一个新的BrowserWindow

调用event.preventDefault()将会阻止Electron自动的创建一个新的BrowserWindow。如果你想调用event.preventDefault()并且手动创建一个新的BrowserWindow那么你必须设置event.newGuest引用这个新的BrowserWindow实例,如果不这样做可能会导致想不到的行为。例如:

myBrowserWindow.webContents.on('new-window', (event, url) => {
    event.preventDefault()
    const win = new BrowserWindow({show: false})
    win.once('ready-to-show', () => win.show())
    win.loadURL(url)
    event.newGuest = win
})

<h4 id="event-will-navigate">事件:'will-navigate'</h4>

返回值为:

当一个用户或者页面想要开始导航时被分发。它可以发生在window.location对象被改变或者用户点击页面中的了一个链接时。

当导航以代码的形式调用webContents.loadURLwebContents.back之类的接口而开始时这个事件将不会被分发。

页面之内的导航也不会使这个事件被分发,例如点击锚点链接或者更新window.location.hash。对于这些行为请使用did-navigate-in-page事件。

调用event.preventDefault()将会阻止导航。

<h4 id="event-did-navigate">事件:'did-navigate'</h4>

返回值为:

当一个导航完成时被分发。

页面之内的导航也不会使这个事件被分发,例如点击锚点链接或者更新window.location.hash。对于这些行为请使用did-navigate-in-page事件。

<h4 id="event-did-navigate-in-page">事件:'did-navigate-in-page'</h4>

返回值为:

当一个页面内的导航发生的时候被分发。

当一个页面内的导航发生,这个页面的URL被改变,但是不会导致导航到这个页面之外。例如这个事件是当锚点链接被点击或者当DOM的hashchange事件被触发时。

<h4 id="event-crashed">事件:'crashed'</h4>

返回值为:

当渲染进程崩溃或者被杀死的时候被分发。

<h4 id="event-plugin-crashed">事件:'plugin-crashed'</h4>

返回值为:

当一个插件进程崩溃时被分发。

<h4 id="event-destroyed">事件:'destroyed'</h4>

webContents被销毁的时候被分发。

<h4 id="event-before-input-event">事件:'before-input-event'</h4>

返回值为:

在页面中的keydownkeyup事件被发出之前被分发。调用event.preventDefault将阻止页面的keydown/keyup事件发出。

<h4 id="event-devtools-opened">事件:'devtools-opened'</h4>

当开发工具被打开的时候被分发。

<h4 id="event-devtools-closed">事件:'devtools-closed'</h4>

当开发工具被关闭的时候被分发。

<h4 id="event-devtools-focused">事件:'devtools-focused'</h4>

当开发工具被聚焦/打开的时候被分发。

<h4 id="event-certificate-error">事件:'certificate-error'</h4>

返回值为:

当验证url指向的证书失败时被分发。

使用起来和appcertificate-error事件一样。

<h4 id="event-select-client-certificate">事件:'select-client-certificate'</h4>

返回值为:

当请求一个客户端证书时被分发。

使用起来和appselect-client-certificate事件一样。

<h4 id="event-login">事件:'login'</h4>

返回值为:

webContents想要进行基本验证的时候被分发。

使用起来和applogin事件一样。

<h4 id="event-found-in-page">事件:'found-in-page'</h4>

返回值为:

[webContents.findInPage]请求有有效的结果时被分发。

<h4 id="event-media-started-playing">事件:'media-started-playing'</h4>

媒体开始播放时被分发。

<h4 id="event-media-paused">事件:'media-paused'</h4>

媒体被暂停或者完成播放时被分发。

<h4 id="event-did-change-theme-color">事件:'did-change-theme-color'</h4>

页面的主题颜色改变时被分发。这个通常由于有一个meta标签:

<meta name='theme-color' content='#ff0000'>

<h4 id="event-update-target-url">事件:'update-target-url'</h4>

返回值为:

当鼠标移动到一个链接或者键盘移动光标到链接上时被分发。

<h4 id="event-cursor-changed">事件:'cursor-changed'</h4>

返回值为:

当光标的类型改变的时候被分发。type参数可以是defaultcrosshairpointertextwaithelpe-resizen-resize, ne-resizenw-resizes-resizese-resizesw-resizew-resizens-resizeew-resizenesw-resizenwse-resizecol-resizerow-resizem-panninge-panningn-panningne-panningnw-pannings-panningse-panningsw-panningw-panningmovevertical-textcellcontext-menualiasprogressnodropcopynonenot-allowedzoom-inzoom-outgrabgrabbingcustom

如果type参数是customimage参数将是一个NativeImage类型的自定义光标图标,scalesizehotspot也是关于自定义光标的附加信息。

<h4 id="event-context-menu">事件:'context-menu'</h4>

返回值为:

当这里有一个新的需要处理的右键菜单时会被分发。

<h4 id="event-select-bluetooth-device">事件:'select-bluetooth-device'</h4>

返回值为:

当调用navigator.bluetooth.requestDevice而需要选择蓝牙设备的时候被分发。webBluetooth应该被允许使用navigator.bluetooth接口。如果event.preventDefault没有被调用,将会默认选择第一个活动的设备。callback需要使用被选择的deviceId来调用,传入空字符串给callback将取消这个请求。

const {app, webContents} = require('electron')
app.commandLine.appendSwitch('enable-web-bluetooth')

app.on('ready', () => {
    webContents.on('select-bluetooth-device', (event, deviceList, callback) => {
        event.preventDefault()
        let result = deviceList.find((device) => {
            return device.deviceName === 'test'
        })
        if (!result) {
            callback('')
        } else {
            callback(result.deviceId)
        }
    })
})

<h4 id="event-paint">事件:'paint'</h4>

返回值为:

当一个新的frame被生成的时候会被分发。只有脏区被传入缓冲区。

const {BrowserWindow} = require('electron')

let win = new BrowserWindow({webPreferences: {offscreen: true}})
win.webContents.on('paint', (event, dirty, image) => {
    // updateBitmap(dirty, image.getBitmap())
})
win.loadURL('http://github.com')

<h4 id="event-devtools-reload-page">事件:'devtools-reload-page'</h4>

当开发工具窗口通知webContents重载时被分发。

<h4 id="event-will-attach-webview">事件:'will-attach-webview'</h4>

返回值为:

当一个<webview>的网络内容被关联到这个网络内容上的时候被分发。调用event.preventDefault()将销毁宾客页面。

这个事件可以被用来配置一个已经被加载的<webview>webContents中的webPreferences,提供设置一些配置选项的能力,而这些配置选项不能通过<webview>的参数来设置。

<h3 id="instance-methods">实例方法</h3>

<h4 id="contents-loadURL"><code>contents.loadURL(url[, options])</code></h4>

加载窗口中的url。这个url必须包含了协议前缀,比如说http://或者file://。如果加载需要绕过http缓存,那么需要使用pragma头来实现它。

const {webContents} = require('electron')
const options = {extraHeaders: 'pragma: no-cache\n'}
webContents.loadURL('https://github.com', options)

<h4 id="contents-downloadURL"><code>contents.downloadURL(url)</code></h4>

不导航过去就开始下载url中的资源。sessionwill-download事件将会被分发。

<h4 id="contents-getURL"><code>contents.getURL()</code></h4>

返回值为String类型 - 当前页面的地址。

const {BrowserWindow} = require('electron')
let win = new BrowserWindow({width: 800, height: 600})
win.loadURL('http://github.com')

et currentURL = win.webContents.getURL()
console.log(currentURL)

<h4 id="contents-getTitle"><code>contents.getTitle()</code></h4>

返回值为String类型 - 当前页面的标题。

<h4 id="contents-isDestroyed"><code>contents.isDestroyed()</code></h4>

返回值为Boolean类型 - 当前页面是否被销毁。

<h4 id="contents-isFocused"><code>contents.isFocused()</code></h4>

返回值为Boolean类型 - 当前页面是否聚焦。

<h4 id="contents-isLoading"><code>contents.isLoading()</code></h4>

返回值为Boolean类型 - 当前页面是否仍在加载资源。

<h4 id="contents-isLoadingMainFrame"><code>contents.isLoadingMainFrame()</code></h4>

返回值为Boolean类型 - 主frame(不仅仅它内部的是iframes或frames)是否仍在加载。

<h4 id="contents-isWaitingForResponse"><code>contents.isWaitingForResponse()</code></h4>

返回值为Boolean类型 - 网页是否是等待页面主要资源的一个第一响应。

<h4 id="contents-stop"><code>contents.stop()</code></h4>

停止任何尚未完成的导航。

<h4 id="contents-reload"><code>contents.reload()</code></h4>

重载当前的网页。

<h4 id="contents-reloadIgnoringCache"><code>contents.reloadIgnoringCache()</code></h4>

忽视缓存并重载当前页面。

<h4 id="contents-canGoBack"><code>contents.canGoBack()</code></h4>

返回值为Boolean类型 - 浏览器是否可以返回之前的网页。

<h4 id="contents-canGoForward"><code>contents.canGoForward()</code></h4>

返回值为Boolean类型 - 浏览器是否可以转去下一个页面。

<h4 id="contents-canGoToOffset"><code>contents.canGoToOffset(offset)</code></h4>

返回值为Boolean类型 - 网页是否可以定位到offset

<h4 id="contents-clearHistory"><code>contents.clearHistory()</code></h4>

清空导航历史记录。

<h4 id="contents-goBack"><code>contents.goBack()</code></h4>

让浏览器返回一个页面。

<h4 id="contents-goForward"><code>contents.goForward()</code></h4>

让浏览器前进一个页面。

<h4 id="contents-goToIndex"><code>contents.goToIndex(index)</code></h4>

通过指定的网页索引,导航浏览器到对应的页面。

<h4 id="contents-goToOffset"><code>contents.goToOffset(offset)</code></h4>

从“当前的位置”导航到指定的偏移位置。

<h4 id="contents-isCrashed"><code>contents.isCrashed()</code></h4>

返回值为Boolean类型 - 渲染线程是否已经崩溃。

<h4 id="contents-setUserAgent"><code>contents.setUserAgent(userAgent)</code></h4>

对这个网页重写用户代理。

<h4 id="contents-getUserAgent"><code>contents.getUserAgent()</code></h4>

返回值为String类型 - 这个网页的用户代理。

<h4 id="contents-insertCSS"><code>contents.insertCSS(css)</code></h4>

给当前网页注入一个CSS样式。

<h4 id="contents-executeJavaScript"><code>contents.executeJavaScript(code[, userGesture, callback])</code></h4>

返回值为Promise类型 - promise可能是带有执行代码的结果的resolves,或者如果代码执行失败那么就是一个rejected promise。

对页面中code的评估。

在浏览器窗口中,一些HTML接口,类似于requestFullScreen,可以只被用户的一个手势而激发。设置userGesturetrue将会移除这个限制。

如果执行代码的结果是一个promise,那么回调结果将是这个promise的resolved的值。我们建议你使用返回的Promise来处理Promise中results的代码。

contents.executeJavaScript('fetch("https://jsonplaceholder.typicode.com/users/1").then(resp => resp.json())', true)
    .then((result) => {
        console.log(result) // Will be the JSON object from the fetch call
    })

<h4 id="contents-setAudioMuted"><code>contents.setAudioMuted(muted)</code></h4>

静音当前网页中的音频。

<h4 id="contents-isAudioMuted"><code>contents.isAudioMuted()</code></h4>

返回值为Boolean类型 - 这个页面是否已经被静音。

<h4 id="contents-setZoomFactor"><code>contents.setZoomFactor(factor)</code></h4>

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

<h4 id="contents-getZoomFactor"><code>contents.getZoomFactor(callback)</code></h4>

发送一个请求来获得当前的缩放因数,callback将会被callback(zoomFactor)调用。

<h4 id="contents-setZoomLevel"><code>contents.setZoomLevel(level)</code></h4>

改变缩放等级为设置的等级。原始大小为0,每一个增加或减小都将放大或缩小20%,默认的最大是300%,最小是50%。

<h4 id="contents-getZoomLevel"><code>contents.getZoomLevel(callback)</code></h4>

发送一个请求来获得当前的缩放等级,callback将会被callback(zoomLevel)调用。

<h4 id="contents-setZoomLevelLimits"><code>contents.setZoomLevelLimits(minimumLevel, maximumLevel)</code></h4>

不赞成:调用setVisualZoomLevelLimits代替设置视觉上的缩放等级上限。这个方法将会在Electron 2.0中被移除。

<h4 id="contentssetVisualZoomLevelLimits-"><code>contents.setVisualZoomLevelLimits(minimumLevel, maximumLevel)</code></h4>

设置pinch-to-zoom等级的最大值和最小值。

<h4 id="contents-setLayoutZoomLevelLimits"><code>contents.setLayoutZoomLevelLimits(minimumLevel, maximumLevel)</code></h4>

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

<h4 id="contents-undo"><code>contents.undo()</code></h4>

在网页中执行编辑命令undo

<h4 id="contents-redo"><code>contents.redo()</code></h4>

在网页中执行编辑命令redo

<h4 id="contents-cut"><code>contents.cut()</code></h4>

在网页中执行编辑命令cut

<h4 id="contents-copy"><code>contents.copy()</code></h4>

在网页中执行编辑命令copy

<h4 id="contents-copyImageAt"><code>contents.copyImageAt(x, y)</code></h4>

复制给定的定位的图片到剪贴板。

<h4 id="contents-paste"><code>contents.paste()</code></h4>

在网页中执行编辑命令paste

<h4 id="contents-pasteAndMatchStyle"><code>contents.pasteAndMatchStyle()</code></h4>

在网页中执行编辑命令pasteAndMatchStyle

<h4 id="contents-delete"><code>contents.delete()</code></h4>

在网页中执行编辑命令delete

<h4 id="contents-selectAll"><code>contents.selectAll()</code></h4>

在网页中执行编辑命令selectAll

<h4 id="contents-unselect"><code>contents.unselect()</code></h4>

在网页中执行编辑命令unselect

<h4 id="contents-replace"><code>contents.replace(text)</code></h4>

在网页中执行编辑命令replace

<h4 id="contents-replaceMisspelling"><code>contents.replaceMisspelling(text)</code></h4>

在网页中执行编辑命令replaceMisspelling

<h4 id="contents-insertText"><code>contents.insertText(text)</code></h4>

插入text到获取焦点的元素。

<h4 id="contents-findInPage"><code>contents.findInPage(text[, options])</code></h4>

发起一个请求来寻找这个网页内的所有text的匹配项,并且返回代表这个请求的一个Integer类型的请求ID。这个请求的结果可以通过订阅found-in-page事件来获得。

<h4 id="contents-stopFindInPage"><code>contents.stopFindInPage(action)</code></h4>

通过提供的action来停止任何对webContentsfindInPage请求。

const {webContents} = require('electron')
webContents.on('found-in-page', (event, result) => {
    if (result.finalUpdate) webContents.stopFindInPage('clearSelection')
})

const requestId = webContents.findInPage('api')
console.log(requestId)

<h4 id="contents-capturePage"><code>contents.capturePage([rect, ]callback)</code></h4>

捕获一个在页面rect范围内的快照。当上面的方法完成后callback将会被callback(image)调用。这个image是一个存储了快照的NativeImage类型的实例。省略rect将会捕获整个可见的页面。

<h4 id="contents-hasServiceWorker"><code>contents.hasServiceWorker(callback)</code></h4>

检测到如果有任何的ServiceWorker被注册那么久返回一个boolean类型的返回值给callback

<h4 id="contents-unregisterServiceWorker"><code>contents.unregisterServiceWorker(callback)</code></h4>

注销任何现存的ServiceWorker,并且返回一个boolean类型的返回值给callback,当JS的promise被满足返回true,或者JS的promise被拒绝则返回false

<h4 id="contents-print"><code>contents.print([options])</code></h4>

打印窗口的网页。当silent被设置为true,Electron将得到系统的默认打印机和打印的默认设置。

在页面调用window.print()相当于调用webContents.print({silent: false, printBackground: false})

使用page-break-before: always;CSS样式被强制打印在一个新的页面上。

<h4 id="contents-printToPDF"><code>contents.printToPDF(options, callback)</code></h4>

使用Chromium的预览打印自定义设置打印窗口的网页为PDF。

完成后callback将会被callback(error, data)调用。data是一个包含了生成的PDF数据的Buffer类型。

如果CSS的@page规则被使用在这个网页中,那么landscape将会被忽略。

默认情况下,一个空的options奖杯视为:

{
    marginsType: 0,
    printBackground: false,
    printSelectionOnly: false,
    landscape: false
}

使用page-break-before: always;CSS样式被强制打印在一个新的页面上。

一个webContents.printToPDF的例子:

const {BrowserWindow} = require('electron')
const fs = require('fs')

let win = new BrowserWindow({width: 800, height: 600})
win.loadURL('http://github.com')

win.webContents.on('did-finish-load', () => {
    // Use default printing options
    win.webContents.printToPDF({}, (error, data) => {
        if (error) throw error
        fs.writeFile('/tmp/print.pdf', data, (error) => {
            if (error) throw error
            console.log('Write PDF successfully.')
        })
    })
})

<h4 id="contents-addWorkSpace"><code>contents.addWorkSpace(path)</code></h4>

给开发工具工作空间添加指定路径。必须在开发工具创建完成后使用:

const {BrowserWindow} = require('electron')
let win = new BrowserWindow()
win.webContents.on('devtools-opened', () => {
    win.webContents.addWorkSpace(__dirname)
})

<h4 id="contents-removeWorkSpace"><code>contents.removeWorkSpace(path)</code></h4>

从开发工具工作空间中移除指定的路径。

<h4 id="contents-openDevTools"><code>contents.openDevTools([options])</code></h4>

打开开发工具。

<h4 id="contents-closeDevTools"><code>contents.closeDevTools()</code></h4>

关闭开发工具。

<h4 id="contents-isDevToolsOpened"><code>contents.isDevToolsOpened()</code></h4>

返回值为Boolean类型 - 开发工具是否被打开。

<h4 id="contents-toggleDevTools"><code>contents.toggleDevTools()</code></h4>

使用开发工具。

<h4 id="contents-inspectElement"><code>contents.inspectElement(x, y)</code></h4>

开始检查点(x, y)位置的元素。

<h4 id="contents-inspectServiceWorker"><code>contents.inspectServiceWorker()</code></h4>

Opens the developer tools for the service worker context.

<h4 id="contents-send"><code>contents.send(channel[, arg1][, arg2][, ...])</code></h4>

通过channel来发送一个异步消息给渲染进程,你也可以发送任意类型的y参数。参数将在JSON内部被联播,因此没有函数或者原型链被引用。

渲染进程可以使用ipcRenderer模块通过监听channel来处理消息。

一个从主进程发送消息到渲染线程的例子:

// In the main process.
const {app, BrowserWindow} = require('electron')
let win = null

app.on('ready', () => {
    win = new BrowserWindow({width: 800, height: 600})
    win.loadURL(`file://${__dirname}/index.html`)
    win.webContents.on('did-finish-load', () => {
        win.webContents.send('ping', 'whoooooooh!')
    })
})


<!-- index.html -->
<html>
<body>
    <script>
        require('electron').ipcRenderer.on('ping', (event, message) => {
            console.log(message)  // Prints 'whoooooooh!'
        })
    </script>
</body>
</html>

<h4 id="contents-enableDeviceEmulation"><code>contents.enableDeviceEmulation(parameters)</code></h4>

通过给定的参数允许设备模拟

<h4 id="contents-disableDeviceEmulation"><code>contents.disableDeviceEmulation()</code></h4>

关闭通过webContents.enableDeviceEmulation开启的设备模拟。

<h4 id="contents-sendInputEvent"><code>contents.sendInputEvent(event)</code></h4>

发送一个输入事件到页面。

对于键盘事件,event对象也有以下属性:

对于鼠标事件,event对象也有以下属性:

对于鼠标滚轮事件,event对象也有以下属性:

<h4 id="contents-beginFrameSubscription"><code>contents.beginFrameSubscription([onlyDirty ,]callback)</code></h4>

开始订阅报告事件和捕获frames,当有一个报告事件时callback会被callback(frameBuffer, dirtyRect)调用。

frameBuffer是一个包含原始像素数据的Buffer。在大多数机器上,像素数据实际上被存储为32位BGRA格式,但是真实显示取决于中央处理器的字节顺序(大多数现代中央处理器是little-endian,在big-endian中央处理器的机器上数据是32位ARGB格式)。

dirtyRect是带有x, y, width, height这些属性的对象,来描述页面的重绘部分。如果onlyDirty被设置为trueframeBuffer将只会包含重绘区域。onlyDirty默认为false

<h4 id="contents-endFrameSubscription"><code>contents.endFrameSubscription()</code></h4>

结束订阅frame报告事件。

<h4 id="contents-startDrag"><code>contents.startDrag(item)</code></h4>

设置这个item作为当前拖拽操作的拖拽项,file是被拖拽文件的绝对路径,icon是当拖拽时光标下方展示的图片。

<h4 id="contents-savePage"><code>contents.savePage(fullPath, saveType, callback)</code></h4>

返回值为Boolean类型 - true表示保存页面的过程已经成功开始。

const {BrowserWindow} = require('electron')
let win = new BrowserWindow()

win.loadURL('https://github.com')

win.webContents.on('did-finish-load', () => {
    win.webContents.savePage('/tmp/test.html', 'HTMLComplete', (error) => {
        if (!error) console.log('Save page successfully')
    })
})

<h4 id="contents-showDefinitionForSelection"><code>contents.showDefinitionForSelection() <i>(MacOS)</i></code></h4>

展示用来在页面上对选中的单词进行搜索的弹出式字典。

<h4 id="contents-setSize"><code>contents.setSize(options)</code></h4>

设置页面的尺寸。这个只支持<webview>的guest内从。

<h4 id="contents-isOffscreen"><code>contents.isOffscreen()</code></h4>

返回值为Boolean类型 - 表示是否启用离屏渲染

<h4 id="contents-startPainting"><code>contents.startPainting()</code></h4>

如果离屏渲染被启动但是没有开始绘制,那么就让它开始绘制。

<h4 id="contents-stopPainting"><code>contents.stopPainting()</code></h4>

如果离屏渲染被启动并且正在绘制,那么就让它停止绘制。

<h4 id="contents-isPainting"><code>contents.isPainting()</code></h4>

返回值为Boolean类型 - 如果离屏渲染被启动则返回当前是否正在绘制。

<h4 id="contents-setFrameRate"><code>contents.setFrameRate(fps)</code></h4>

如果离屏渲染被启动那么设置帧数为指定的数值。只接受在1到60之间的值。

<h4 id="contents-getFrameRate"><code>contents.getFrameRate()</code></h4>

返回值为Integer类型 - 如果离屏渲染被启动那么返回当前帧数。

<h4 id="contents-invalidate"><code>contents.invalidate()</code></h4>

安排一次这个网络内容所在的窗口的全屏重绘。

如果离屏渲染被启那么使frame无效并且通过'paint'事件生成一个新的。

<h3 id="instance-properties">实例属性</h3>

<h4 id="contents-id"><code>contents.id</code></h4>

一个作为WebContents的唯一的ID的整数。

<h4 id="contents-session"><code>contents.session</code></h4>

一个被这个webContents使用的Session对象(session

<h4 id="contents-hostWebContents"><code>contents.hostWebContents</code></h4>

一个可能拥有这个WebContents的WebContents实例

<h4 id="contents-devToolsWebContents"><code>contents.devToolsWebContents</code></h4>

这个WebContents的开发工具的WebContents。

注意:用户不要存储这个对象,因为当这个开发工具被关闭的时候它可能会变为null

<h4 id="contents-debugger"><code>contents.debugger</code></h4>

这个webContents的一个Debugger实例。

上一篇下一篇

猜你喜欢

热点阅读