我正在尝试将功能作为seen here添加到其他元素下方的Webview中。因此,它获得的x和y值当然仅是webview本身,但是inspectElement()
方法需要将窗口的x和y值作为一个整体,而不仅仅是webview。因此,我需要能够获取整个窗口的高度,以便可以做一些数学运算来抵消我传递给inspectElement()
的值。
This answer,当我致电remote.getCurrentWindow()
时收到此错误
Uncaught TypeError: Cannot read property 'getSize' of null
at click (<anonymous>:3950:147)
at CallbacksRegistry.apply (<anonymous>:1090:25)
at handleMessage (<anonymous>:898:21)
at EventEmitter.ipcRenderer.on.args (<anonymous>:888:7)
at EventEmitter.emit (<anonymous>:5163:17)
at Object.ipcNative.onInternalMessage (<anonymous>:3010:15)
所以它返回null。因此,这个答案是不够的。我似乎在StackOverflow或其他网站上找不到任何有关如何从Webview获取窗口高度或Webview与窗口本身偏移多少的信息。
答案 0 :(得分:0)
经过一番摸索和阅读文档,我得到了这个解决方案。
这里是将webContents传递给该函数并可以访问BrowserWindow的函数
function getBrowserWindowFromWebContents(
contents: Electron.WebContents
): Electron.BrowserWindow {
let topContents = contents
while (topContents.hostWebContents) {
topContents = topContents.hostWebContents
}
return remote.BrowserWindow.fromWebContents(topContents)
}
那么我们就可以访问getSize()
getBrowserWindowFromWebContents(remote.getCurrentWebContents()).getSize()
然后我们去:)