webContents: fix executejavascript when called before page load
This commit is contained in:
parent
0fa92923da
commit
4e6b148eaa
2 changed files with 12 additions and 2 deletions
|
@ -117,9 +117,11 @@ let wrapWebContents = function (webContents) {
|
|||
hasUserGesture = false
|
||||
}
|
||||
if (this.getURL() && !this.isLoadingMainFrame()) {
|
||||
return asyncWebFrameMethods.call(this, requestId, 'executeJavaScript', callback, code, hasUserGesture)
|
||||
asyncWebFrameMethods.call(this, requestId, 'executeJavaScript', callback, code, hasUserGesture)
|
||||
} else {
|
||||
return this.once('did-finish-load', asyncWebFrameMethods.bind(this, requestId, 'executeJavaScript', callback, code, hasUserGesture))
|
||||
this.once('did-finish-load', () => {
|
||||
asyncWebFrameMethods.call(this, requestId, 'executeJavaScript', callback, code, hasUserGesture)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -870,6 +870,14 @@ describe('browser-window module', function () {
|
|||
})
|
||||
w.loadURL(server.url)
|
||||
})
|
||||
|
||||
it('executes after page load', function (done) {
|
||||
w.webContents.executeJavaScript(code, function(result) {
|
||||
assert.equal(result, expected)
|
||||
done()
|
||||
})
|
||||
w.loadURL(server.url)
|
||||
})
|
||||
})
|
||||
|
||||
describe('deprecated options', function () {
|
||||
|
|
Loading…
Reference in a new issue