webContents
是一個(gè) 事件發(fā)出者.
它負(fù)責(zé)渲染并控制網(wǎng)頁(yè),也是 BrowserWindow
對(duì)象的屬性.一個(gè)使用 webContents
的例子:
const BrowserWindow = require('electron').BrowserWindow;
var win = new BrowserWindow({width: 800, height: 1500});
win.loadURL("http://m.o2fo.com");
var webContents = win.webContents;
webContents
對(duì)象可發(fā)出下列事件:
當(dāng)導(dǎo)航完成時(shí)發(fā)出事件,onload
事件也完成.
返回:
event
EventerrorCode
IntegererrorDescription
StringvalidatedURL
String這個(gè)事件類(lèi)似 did-finish-load
,但是是在加載失敗或取消加載時(shí)發(fā)出, 例如, window.stop()
請(qǐng)求結(jié)束.錯(cuò)誤代碼的完整列表和它們的含義都可以在 here 找到.
返回:
event
EventisMainFrame
Boolean當(dāng)一個(gè) frame 導(dǎo)航完成的時(shí)候發(fā)出事件.
當(dāng) tab 的spinner 開(kāi)始 spinning的時(shí)候.
當(dāng) tab 的spinner 結(jié)束 spinning的時(shí)候.
返回:
event
Eventstatus
BooleannewURL
StringoriginalURL
StringhttpResponseCode
IntegerrequestMethod
Stringreferrer
Stringheaders
Object當(dāng)有關(guān)請(qǐng)求資源的詳細(xì)信息可用的時(shí)候發(fā)出事件. status
標(biāo)識(shí)了 socket鏈接來(lái)下載資源.
返回:
event
EventoldURL
StringnewURL
StringisMainFrame
BooleanhttpResponseCode
IntegerrequestMethod
Stringreferrer
Stringheaders
Object當(dāng)在請(qǐng)求資源時(shí)收到重定向的時(shí)候發(fā)出事件.
返回:
event
Event當(dāng)指定 frame 中的 文檔加載完成的時(shí)候發(fā)出事件.
返回:
event
Eventfavicons
Array - Array of URLs當(dāng) page 收到圖標(biāo) url 的時(shí)候發(fā)出事件.
返回:
event
Eventurl
StringframeName
Stringdisposition
String - 可為 default
, foreground-tab
, background-tab
, new-window
和 other
.options
Object - 創(chuàng)建新的 BrowserWindow
時(shí)使用的參數(shù).當(dāng) page 請(qǐng)求打開(kāi)指定 url 窗口的時(shí)候發(fā)出事件.這可以是通過(guò) window.open
或一個(gè)外部連接如 <a target='_blank'>
發(fā)出的請(qǐng)求.
默認(rèn)指定 url
的 BrowserWindow
會(huì)被創(chuàng)建.
調(diào)用 event.preventDefault()
可以用來(lái)阻止打開(kāi)窗口.
返回:
event
Eventurl
String當(dāng)用戶(hù)或 page 想要開(kāi)始導(dǎo)航的時(shí)候發(fā)出事件.它可在當(dāng) window.location
對(duì)象改變或用戶(hù)點(diǎn)擊 page 中的鏈接的時(shí)候發(fā)生.
當(dāng)使用 api(如 webContents.loadURL
和 webContents.back
) 以編程方式來(lái)啟動(dòng)導(dǎo)航的時(shí)候,這個(gè)事件將不會(huì)發(fā)出.
它也不會(huì)在頁(yè)內(nèi)跳轉(zhuǎn)發(fā)生, 例如點(diǎn)擊錨鏈接或更新 window.location.hash
.使用 did-navigate-in-page
事件可以達(dá)到目的.
調(diào)用 event.preventDefault()
可以阻止導(dǎo)航.
返回:
event
Eventurl
String當(dāng)一個(gè)導(dǎo)航結(jié)束時(shí)候發(fā)出事件.
頁(yè)內(nèi)跳轉(zhuǎn)時(shí)不會(huì)發(fā)出這個(gè)事件,例如點(diǎn)擊錨鏈接或更新 window.location.hash
.使用 did-navigate-in-page
事件可以達(dá)到目的.
返回:
event
Eventurl
String當(dāng)頁(yè)內(nèi)導(dǎo)航發(fā)生的時(shí)候發(fā)出事件.
當(dāng)頁(yè)內(nèi)導(dǎo)航發(fā)生的時(shí)候,page 的url 改變,但是不會(huì)跳出界面.例如當(dāng)點(diǎn)擊錨鏈接時(shí)或者 DOM 的 hashchange
事件發(fā)生.
當(dāng)渲染進(jìn)程崩潰的時(shí)候發(fā)出事件.
返回:
event
Eventname
Stringversion
String當(dāng)插件進(jìn)程崩潰時(shí)候發(fā)出事件.
當(dāng) webContents
被刪除的時(shí)候發(fā)出事件.
當(dāng)開(kāi)發(fā)者工具欄打開(kāi)的時(shí)候發(fā)出事件.
當(dāng)開(kāi)發(fā)者工具欄關(guān)閉時(shí)候發(fā)出事件.
當(dāng)開(kāi)發(fā)者工具欄獲得焦點(diǎn)或打開(kāi)的時(shí)候發(fā)出事件.
返回:
event
Eventurl
URLerror
String - The error codecertificate
Objectdata
Buffer - PEM encoded dataissuerName
Stringcallback
Function當(dāng)驗(yàn)證證書(shū)或 url
失敗的時(shí)候發(fā)出事件.
使用方法類(lèi)似 app
的 certificate-error
事件.
返回:
event
Eventurl
URLcertificateList
[Objects]data
Buffer - PEM encoded dataissuerName
String - Issuer's Common Namecallback
Function當(dāng)請(qǐng)求客戶(hù)端證書(shū)的時(shí)候發(fā)出事件.
使用方法類(lèi)似 app
的 select-client-certificate
事件.
返回:
event
Eventrequest
Objectmethod
Stringurl
URLreferrer
URLauthInfo
ObjectisProxy
Booleanscheme
Stringhost
Stringport
Integerrealm
Stringcallback
Function當(dāng) webContents
想做基本驗(yàn)證的時(shí)候發(fā)出事件.
使用方法類(lèi)似 the login
event of app
.
返回:
event
Eventresult
ObjectrequestId
IntegerfinalUpdate
Boolean - 標(biāo)識(shí)是否還有更多的值可以查看.activeMatchOrdinal
Integer (可選) - 活動(dòng)匹配位置matches
Integer (可選) - 匹配數(shù)量.selectionArea
Object (可選) - 協(xié)調(diào)首個(gè)匹配位置.當(dāng)使用 webContents.findInPage
進(jìn)行頁(yè)內(nèi)查找并且找到可用值得時(shí)候發(fā)出事件.
當(dāng)媒體開(kāi)始播放的時(shí)候發(fā)出事件.
當(dāng)媒體停止播放的時(shí)候發(fā)出事件.
當(dāng)page 的主題色時(shí)候發(fā)出事件.這通常由于引入了一個(gè) meta 標(biāo)簽 :
<meta name='theme-color' content='#ff0000'>
返回:
event
Eventtype
Stringimage
NativeImage (可選)scale
Float (可選)當(dāng)鼠標(biāo)的類(lèi)型發(fā)生改變的時(shí)候發(fā)出事件. type
的參數(shù)可以是 default
, crosshair
, pointer
, text
, wait
, help
, e-resize
, n-resize
, ne-resize
, nw-resize
, s-resize
, se-resize
, sw-resize
, w-resize
, ns-resize
, ew-resize
, nesw-resize
, nwse-resize
, col-resize
, row-resize
, m-panning
, e-panning
, n-panning
, ne-panning
, nw-panning
, s-panning
, se-panning
, sw-panning
, w-panning
, move
, vertical-text
, cell
, context-menu
, alias
, progress
, nodrop
, copy
, none
,not-allowed
, zoom-in
, zoom-out
, grab
, grabbing
, custom
.
如果 type
參數(shù)值為 custom
, image
參數(shù)會(huì)在一個(gè)NativeImage
中控制自定義鼠標(biāo)圖片, 并且 scale
會(huì)控制圖片的縮放比例.
webContents
對(duì)象有如下的實(shí)例方法:
webContents.loadURL(url[, options])
url
URLoptions
Object (可選)httpReferrer
String - A HTTP Referrer url.userAgent
String - 產(chǎn)生請(qǐng)求的用戶(hù)代理extraHeaders
String - 以 "\n" 分隔的額外頭在窗口中加載 url
, url
必須包含協(xié)議前綴, 比如 http://
或 file://
. 如果加載想要忽略 http 緩存,可以使用 pragma
頭來(lái)達(dá)到目的.
const options = {"extraHeaders" : "pragma: no-cache\n"}
webContents.loadURL(url, options)
webContents.downloadURL(url)
url
URL初始化一個(gè)指定 url
的資源下載,不導(dǎo)航跳轉(zhuǎn). session
的 will-download
事件會(huì)觸發(fā).
webContents.getURL()
返回當(dāng)前page 的 url.
var win = new BrowserWindow({width: 800, height: 600});
win.loadURL("http://github.com");
var currentURL = win.webContents.getURL();
webContents.getTitle()
返回當(dāng)前page 的 標(biāo)題.
webContents.isLoading()
返回一個(gè)布爾值,標(biāo)識(shí)當(dāng)前頁(yè)是否正在加載.
webContents.isWaitingForResponse()
返回一個(gè)布爾值,標(biāo)識(shí)當(dāng)前頁(yè)是否正在等待主要資源的第一次響應(yīng).
webContents.stop()
停止還為開(kāi)始的導(dǎo)航.
webContents.reload()
重載當(dāng)前頁(yè).
webContents.reloadIgnoringCache()
重載當(dāng)前頁(yè),忽略緩存.
webContents.canGoBack()
返回一個(gè)布爾值,標(biāo)識(shí)瀏覽器是否能回到前一個(gè)page.
webContents.canGoForward()
返回一個(gè)布爾值,標(biāo)識(shí)瀏覽器是否能前往下一個(gè)page.
webContents.canGoToOffset(offset)
offset
Integer返回一個(gè)布爾值,標(biāo)識(shí)瀏覽器是否能前往指定 offset
的page.
webContents.clearHistory()
清除導(dǎo)航歷史.
webContents.goBack()
讓瀏覽器回退到前一個(gè)page.
webContents.goForward()
讓瀏覽器回前往下一個(gè)page.
webContents.goToIndex(index)
index
Integer讓瀏覽器回前往指定 index
的page.
webContents.goToOffset(offset)
offset
Integer導(dǎo)航到相對(duì)于當(dāng)前頁(yè)的偏移位置頁(yè).
webContents.isCrashed()
渲染進(jìn)程是否崩潰.
webContents.setUserAgent(userAgent)
userAgent
String重寫(xiě)本頁(yè)用戶(hù)代理.
webContents.getUserAgent()
返回一個(gè) String
,標(biāo)識(shí)本頁(yè)用戶(hù)代理信息.
webContents.insertCSS(css)
css
String為當(dāng)前頁(yè)插入css.
webContents.executeJavaScript(code[, userGesture, callback])
code
StringuserGesture
Boolean (可選)callback
Function (可選) - 腳本執(zhí)行完成后調(diào)用的回調(diào)函數(shù).result
評(píng)估 page 代碼
.
瀏覽器窗口中的一些 HTML API ,例如 requestFullScreen
,只能被用戶(hù)手勢(shì)請(qǐng)求.設(shè)置 userGesture
為 true
可以取消這個(gè)限制.
win.webContents.executeJavaScript('\
$(".skey").focus();\
');
webContents.setAudioMuted(muted)
muted
Boolean減緩當(dāng)前也的 audio 的播放速度.
webContents.isAudioMuted()
返回一個(gè)布爾值,標(biāo)識(shí)當(dāng)前頁(yè)是否減緩了 audio 的播放速度.
webContents.undo()
執(zhí)行網(wǎng)頁(yè)的編輯命令 undo
.
webContents.redo()
執(zhí)行網(wǎng)頁(yè)的編輯命令 redo
.
webContents.cut()
執(zhí)行網(wǎng)頁(yè)的編輯命令 cut
.
webContents.copy()
執(zhí)行網(wǎng)頁(yè)的編輯命令 copy
.
webContents.paste()
執(zhí)行網(wǎng)頁(yè)的編輯命令 paste
.
webContents.pasteAndMatchStyle()
執(zhí)行網(wǎng)頁(yè)的編輯命令 pasteAndMatchStyle
.
webContents.delete()
執(zhí)行網(wǎng)頁(yè)的編輯命令 delete
.
webContents.selectAll()
執(zhí)行網(wǎng)頁(yè)的編輯命令 selectAll
.
webContents.unselect()
執(zhí)行網(wǎng)頁(yè)的編輯命令 unselect
.
webContents.replace(text)
text
String執(zhí)行網(wǎng)頁(yè)的編輯命令 replace
.
webContents.replaceMisspelling(text)
text
String執(zhí)行網(wǎng)頁(yè)的編輯命令 replaceMisspelling
.
webContents.insertText(text)
text
String插入 text
到獲得了焦點(diǎn)的元素.
webContents.findInPage(text[, options])
text
String - 查找內(nèi)容, 不能為空.options
Object (可選)forward
Boolean - 是否向前或向后查找, 默認(rèn)為 true
.findNext
Boolean - 當(dāng)前操作是否是第一次查找或下一次查找, 默認(rèn)為 false
.matchCase
Boolean - 查找是否區(qū)分大小寫(xiě), 默認(rèn)為 false
.wordStart
Boolean -是否僅以首字母查找. 默認(rèn)為 false
.medialCapitalAsWordStart
Boolean - 是否結(jié)合 wordStart
,如果匹配是大寫(xiě)字母開(kāi)頭,后面接小寫(xiě)字母或無(wú)字母,那么就接受這個(gè)詞中匹配.接受幾個(gè)其它的合成詞匹配, 默認(rèn)為 false
.發(fā)起請(qǐng)求,在網(wǎng)頁(yè)中查找所有與 text
相匹配的項(xiàng),并且返回一個(gè) Integer
來(lái)表示這個(gè)請(qǐng)求用的請(qǐng)求Id.這個(gè)請(qǐng)求結(jié)果可以通過(guò)訂閱 found-in-page
事件來(lái)取得.
webContents.stopFindInPage(action)
action
String - 指定一個(gè)行為來(lái)接替停止 webContents.findInPage
請(qǐng)求.clearSelection
- 轉(zhuǎn)變?yōu)橐粋€(gè)普通的 selection.keepSelection
- 清除 selection.activateSelection
- 獲取焦點(diǎn)并點(diǎn)擊 selection node.使用給定的 action
來(lái)為 webContents
停止任何 findInPage
請(qǐng)求.
webContents.on('found-in-page', function(event, result) {
if (result.finalUpdate)
webContents.stopFindInPage("clearSelection");
});
const requestId = webContents.findInPage("api");
webContents.hasServiceWorker(callback)
callback
Function檢查是否有任何 ServiceWorker 注冊(cè)了,并且返回一個(gè)布爾值,來(lái)作為 callback
響應(yīng)的標(biāo)識(shí).
webContents.unregisterServiceWorker(callback)
callback
Function如果存在任何 ServiceWorker ,則全部注銷(xiāo),并且當(dāng)JS承諾執(zhí)行行或JS拒絕執(zhí)行而失敗的時(shí)候,返回一個(gè)布爾值,它標(biāo)識(shí)了相應(yīng)的 callback
.
webContents.print([options])
options
Object (可選)silent
Boolean - 不需要請(qǐng)求用戶(hù)的打印設(shè)置. 默認(rèn)為 false
.printBackground
Boolean - 打印背景和網(wǎng)頁(yè)圖片. 默認(rèn)為 false
.打印窗口的網(wǎng)頁(yè). 當(dāng)設(shè)置 silent
為 false
的時(shí)候,Electron 將使用系統(tǒng)默認(rèn)的打印機(jī)和打印方式來(lái)打印.
在網(wǎng)頁(yè)中調(diào)用 window.print()
和 調(diào)用 webContents.print({silent: false, printBackground: false})
具有相同的作用.
注意: 在 Windows, 打印 API 依賴(lài)于 pdf.dll
. 如果你的應(yīng)用不使用任何的打印, 你可以安全刪除 pdf.dll
來(lái)減少二進(jìn)制文件的size.
webContents.printToPDF(options, callback)
options
ObjectmarginsType
Integer - 指定使用的 margin type. 默認(rèn) margin 使用 0, 無(wú) margin 使用 1, 最小化 margin 使用 2.pageSize
String - 指定生成的PDF文件的page size. 可以是 A3
, A4
, A5
, Legal
, Letter
和 Tabloid
.printBackground
Boolean - 是否打印 css 背景.printSelectionOnly
Boolean - 是否只打印選中的部分.landscape
Boolean - landscape 為 true
, portrait 為 false
.callback
Function打印窗口的網(wǎng)頁(yè)為 pdf ,使用 Chromium 預(yù)覽打印的自定義設(shè)置.
完成時(shí)使用 callback(error, data)
調(diào)用 callback
. data
是一個(gè) Buffer
,包含了生成的 pdf 數(shù)據(jù).
默認(rèn),空的 options
被視為 :
{
marginsType: 0,
printBackground: false,
printSelectionOnly: false,
landscape: false
}
const BrowserWindow = require('electron').BrowserWindow;
const fs = require('fs');
var win = new BrowserWindow({width: 800, height: 600});
win.loadURL("http://m.o2fo.com");
win.webContents.on("did-finish-load", function() {
// Use default printing options
win.webContents.printToPDF({}, function(error, data) {
if (error) throw error;
fs.writeFile("/tmp/print.pdf", data, function(error) {
if (error)
throw error;
console.log("Write PDF successfully.");
})
})
});
webContents.addWorkSpace(path)
path
String添加指定的路徑給開(kāi)發(fā)者工具欄的 workspace.必須在 DevTools 創(chuàng)建之后使用它 :
mainWindow.webContents.on('devtools-opened', function() {
mainWindow.webContents.addWorkSpace(__dirname);
});
webContents.removeWorkSpace(path)
path
String從開(kāi)發(fā)者工具欄的 workspace 刪除指定的路徑.
webContents.openDevTools([options])
options
Object (可選)detach
Boolean - 在一個(gè)新窗口打開(kāi)開(kāi)發(fā)者工具欄打開(kāi)開(kāi)發(fā)者工具欄.
webContents.closeDevTools()
關(guān)閉開(kāi)發(fā)者工具欄.
webContents.isDevToolsOpened()
返回布爾值,開(kāi)發(fā)者工具欄是否打開(kāi).
webContents.isDevToolsFocused()
返回布爾值,開(kāi)發(fā)者工具欄視圖是否獲得焦點(diǎn).
webContents.toggleDevTools()
Toggles 開(kāi)發(fā)者工具.
webContents.inspectElement(x, y)
x
Integery
Integer在 (x
, y
) 開(kāi)始檢測(cè)元素.
webContents.inspectServiceWorker()
為 service worker 上下文打開(kāi)開(kāi)發(fā)者工具欄.
webContents.send(channel[, arg1][, arg2][, ...])
channel
Stringarg
(可選)通過(guò) channel
發(fā)送異步消息給渲染進(jìn)程,你也可發(fā)送任意的參數(shù).參數(shù)應(yīng)該在 JSON 內(nèi)部序列化,并且此后沒(méi)有函數(shù)或原形鏈被包括了.
渲染進(jìn)程可以通過(guò)使用 ipcRenderer
監(jiān)聽(tīng) channel
來(lái)處理消息.
例子,從主進(jìn)程向渲染進(jìn)程發(fā)送消息 :
// 主進(jìn)程.
var window = null;
app.on('ready', function() {
window = new BrowserWindow({width: 800, height: 600});
window.loadURL('file://' + __dirname + '/index.html');
window.webContents.on('did-finish-load', function() {
window.webContents.send('ping', 'whoooooooh!');
});
});
<!-- index.html -->
<html>
<body>
<script>
require('electron').ipcRenderer.on('ping', function(event, message) {
console.log(message); // Prints "whoooooooh!"
});
</script>
</body>
</html>
webContents.enableDeviceEmulation(parameters)
parameters
Object, properties:
screenPosition
String - 指定需要模擬的屏幕 (默認(rèn) : desktop
)desktop
mobile
screenSize
Object - 設(shè)置模擬屏幕 size (screenPosition == mobile)width
Integer - 設(shè)置模擬屏幕 widthheight
Integer - 設(shè)置模擬屏幕 heightviewPosition
Object - 在屏幕放置 view (screenPosition == mobile) (默認(rèn): {x: 0, y: 0}
)x
Integer - 設(shè)置偏移左上角的x軸y
Integer - 設(shè)置偏移左上角的y軸deviceScaleFactor
Integer - 設(shè)置設(shè)備比例因子 (如果為0,默認(rèn)為原始屏幕比例) (默認(rèn): 0
)viewSize
Object - 設(shè)置模擬視圖 size (空表示不覆蓋)width
Integer - 設(shè)置模擬視圖 widthheight
Integer - 設(shè)置模擬視圖 heightfitToView
Boolean - 如果有必要的話,是否把模擬視圖按比例縮放來(lái)適應(yīng)可用空間 (默認(rèn): false
)offset
Object - 可用空間內(nèi)的模擬視圖偏移 (不在適應(yīng)模式) (默認(rèn): {x: 0, y: 0}
)x
Float - 設(shè)置相對(duì)左上角的x軸偏移值y
Float - 設(shè)置相對(duì)左上角的y軸偏移值scale
Float - 可用空間內(nèi)的模擬視圖偏移 (不在適應(yīng)視圖模式) (默認(rèn): 1
)使用給定的參數(shù)來(lái)開(kāi)啟設(shè)備模擬.
webContents.disableDeviceEmulation()
使用 webContents.enableDeviceEmulation
關(guān)閉設(shè)備模擬.
webContents.sendInputEvent(event)
event
Objecttype
String (必需) - 事件類(lèi)型,可以是 mouseDown
, mouseUp
, mouseEnter
, mouseLeave
, contextMenu
, mouseWheel
, mouseMove
, keyDown
, keyUp
, char
.modifiers
Array - 事件的 modifiers 數(shù)組, 可以是 include shift
, control
, alt
, meta
, isKeypad
, isAutoRepeat
, leftButtonDown
, middleButtonDown
, rightButtonDown
, capsLock
,numLock
, left
, right
.向 page 發(fā)送一個(gè)輸入 event
.
對(duì)鍵盤(pán)事件來(lái)說(shuō),event
對(duì)象還有如下屬性 :
keyCode
String (必需) - 特點(diǎn)是將作為鍵盤(pán)事件發(fā)送. 可用的 key codes Accelerator.對(duì)鼠標(biāo)事件來(lái)說(shuō),event
對(duì)象還有如下屬性 :
x
Integer (required)y
Integer (required)button
String - button 按下, 可以是 left
, middle
, right
globalX
IntegerglobalY
IntegermovementX
IntegermovementY
IntegerclickCount
Integer對(duì)鼠標(biāo)滾輪事件來(lái)說(shuō),event
對(duì)象還有如下屬性 :
deltaX
IntegerdeltaY
IntegerwheelTicksX
IntegerwheelTicksY
IntegeraccelerationRatioX
IntegeraccelerationRatioY
IntegerhasPreciseScrollingDeltas
BooleancanScroll
BooleanwebContents.beginFrameSubscription(callback)
callback
Function開(kāi)始訂閱 提交 事件和捕獲數(shù)據(jù)幀,當(dāng)有 提交 事件時(shí),使用 callback(frameBuffer)
調(diào)用 callback
.
frameBuffer
是一個(gè)包含原始像素?cái)?shù)據(jù)的 Buffer
,像素?cái)?shù)據(jù)是按照 32bit BGRA 格式有效存儲(chǔ)的,但是實(shí)際情況是取決于處理器的字節(jié)順序的(大多數(shù)的處理器是存放小端序的,如果是在大端序的處理器上,數(shù)據(jù)是 32bit ARGB 格式).
webContents.endFrameSubscription()
停止訂閱幀提交事件.
webContents.savePage(fullPath, saveType, callback)
fullPath
String - 文件的完整路徑.saveType
String - 指定保存類(lèi)型.HTMLOnly
- 只保存html.HTMLComplete
- 保存整個(gè) page 內(nèi)容.MHTML
- 保存完整的 html 為 MHTML.callback
Function - function(error) {}
.error
Error如果保存界面過(guò)程初始化成功,返回 true.
win.loadURL('http://m.o2fo.com');
win.webContents.on('did-finish-load', function() {
win.webContents.savePage('/tmp/test.html', 'HTMLComplete', function(error) {
if (!error)
console.log("Save page successfully");
});
});
WebContents
對(duì)象也有下列屬性:
webContents.session
返回這個(gè) webContents
使用的 session 對(duì)象.
webContents.hostWebContents
返回這個(gè) webContents
的父 webContents
.
webContents.devToolsWebContents
獲取這個(gè) WebContents
的開(kāi)發(fā)者工具欄的 WebContents
.
注意: 用戶(hù)不可保存這個(gè)對(duì)象,因?yàn)楫?dāng)開(kāi)發(fā)者工具欄關(guān)閉的時(shí)候它的值為 null
.
webContents.debugger
調(diào)試 API 為 remote debugging protocol 提供交替?zhèn)魉?
try {
win.webContents.debugger.attach("1.1");
} catch(err) {
console.log("Debugger attach failed : ", err);
};
win.webContents.debugger.on('detach', function(event, reason) {
console.log("Debugger detached due to : ", reason);
});
win.webContents.debugger.on('message', function(event, method, params) {
if (method == "Network.requestWillBeSent") {
if (params.request.url == "http://m.o2fo.com")
win.webContents.debugger.detach();
}
})
win.webContents.debugger.sendCommand("Network.enable");
webContents.debugger.attach([protocolVersion])
protocolVersion
String (可選) - 請(qǐng)求調(diào)試協(xié)議版本.添加 webContents
調(diào)試.
webContents.debugger.isAttached()
返回一個(gè)布爾值,標(biāo)識(shí)是否已經(jīng)給 webContents
添加了調(diào)試.
webContents.debugger.detach()
刪除 webContents
調(diào)試.
webContents.debugger.sendCommand(method[, commandParams, callback])
method
String - 方法名, 應(yīng)該是由遠(yuǎn)程調(diào)試協(xié)議定義的方法.commandParams
Object (可選) - 請(qǐng)求參數(shù)為 JSON 對(duì)象.callback
Function (可選) - Responseerror
Object - 錯(cuò)誤消息,標(biāo)識(shí)命令失敗.result
Object - 回復(fù)在遠(yuǎn)程調(diào)試協(xié)議中由 'returns'屬性定義的命令描述.發(fā)送給定命令給調(diào)試目標(biāo).
event
Eventreason
String - 拆分調(diào)試器原因.在調(diào)試 session 結(jié)束時(shí)發(fā)出事件.這在 webContents
關(guān)閉時(shí)或 webContents
請(qǐng)求開(kāi)發(fā)者工具欄時(shí)發(fā)生.
event
Eventmethod
String - 方法名.params
Object - 在遠(yuǎn)程調(diào)試協(xié)議中由 'parameters' 屬性定義的事件參數(shù).每當(dāng)調(diào)試目標(biāo)發(fā)出事件時(shí)發(fā)出.
更多建議: