|
@@ -802,17 +802,6 @@ Emitted when `remote.getCurrentWebContents()` is called in the renderer process.
|
|
|
Calling `event.preventDefault()` will prevent the object from being returned.
|
|
|
Custom value can be returned by setting `event.returnValue`.
|
|
|
|
|
|
-#### Event: 'remote-get-guest-web-contents'
|
|
|
-
|
|
|
-Returns:
|
|
|
-
|
|
|
-* `event` IpcMainEvent
|
|
|
-* `guestWebContents` [WebContents](web-contents.md)
|
|
|
-
|
|
|
-Emitted when `<webview>.getWebContents()` is called in the renderer process.
|
|
|
-Calling `event.preventDefault()` will prevent the object from being returned.
|
|
|
-Custom value can be returned by setting `event.returnValue`.
|
|
|
-
|
|
|
### Instance Methods
|
|
|
|
|
|
#### `contents.loadURL(url[, options])`
|
|
@@ -1391,13 +1380,20 @@ An example of showing devtools in a `<webview>` tag:
|
|
|
</head>
|
|
|
<body>
|
|
|
<webview id="browser" src="https://github.com"></webview>
|
|
|
- <webview id="devtools"></webview>
|
|
|
+ <webview id="devtools" src="about:blank"></webview>
|
|
|
<script>
|
|
|
+ const { webContents } = require('electron').remote
|
|
|
+ const emittedOnce = (element, eventName) => new Promise(resolve => {
|
|
|
+ element.addEventListener(eventName, event => resolve(event), { once: true })
|
|
|
+ })
|
|
|
const browserView = document.getElementById('browser')
|
|
|
const devtoolsView = document.getElementById('devtools')
|
|
|
- browserView.addEventListener('dom-ready', () => {
|
|
|
- const browser = browserView.getWebContents()
|
|
|
- browser.setDevToolsWebContents(devtoolsView.getWebContents())
|
|
|
+ const browserReady = emittedOnce(browserView, 'dom-ready')
|
|
|
+ const devtoolsReady = emittedOnce(devtoolsView, 'dom-ready')
|
|
|
+ Promise.all([browserReady, devtoolsReady]).then(() => {
|
|
|
+ const browser = webContents.fromId(browserView.getWebContentsId())
|
|
|
+ const devtools = webContents.fromId(devtoolsView.getWebContentsId())
|
|
|
+ browser.setDevToolsWebContents(devtools)
|
|
|
browser.openDevTools()
|
|
|
})
|
|
|
</script>
|