Javascript 使用Electron访问webview DOM
我正在尝试访问webview中的DOM。我知道我需要使用IPC,但使用同一文件中的以下代码,一个访问父级,一个访问webview Preload.js(使用Javascript 使用Electron访问webview DOM,javascript,electron,Javascript,Electron,我正在尝试访问webview中的DOM。我知道我需要使用IPC,但使用同一文件中的以下代码,一个访问父级,一个访问webview Preload.js(使用webview的Preload属性) index.js window.webContents.once('dom-ready', () => { globalShortcut.register('MediaPlayPause', () => { window.webContents.send('ppause
webview
的Preload
属性)
index.js
window.webContents.once('dom-ready', () => {
globalShortcut.register('MediaPlayPause', () => {
window.webContents.send('ppause');
});
});
globalShortcut.register('MediaPlayPause', () => {
window.webContents.send('ppause');
});
我希望能够访问webview DOM(例如在setInterval函数中),但我似乎无法解决它。我最终解决了这个问题 我需要将它发送到WebContent,然后从那里发送到webview 预加载
ipcRenderer.on('ppause', () => {
console.log(document); // can now manipulate webview DOM
});
浏览器
const webview = document.getElementById('webview');
ipcRenderer.on('ppause', () => {
webview.send('ppause');
});
index.js
window.webContents.once('dom-ready', () => {
globalShortcut.register('MediaPlayPause', () => {
window.webContents.send('ppause');
});
});
globalShortcut.register('MediaPlayPause', () => {
window.webContents.send('ppause');
});
所需的只是额外发送到webview。这有帮助吗?不,我想这就是我使用ipc所做的,除非我感到困惑。你在主窗口中像iframe一样使用webview吗?我在官方网站上读到了不推荐的内容。我可以帮你做一个儿童窗户。我能做到,我知道了。看看我的答案。