官方使用方法
`<webview>` Tag | Electronhttps://www.electronjs.org/docs/latest/api/webview-tag#event-ipc-message`<webview>` Tag | Electron
// In embedder page.
const webview = document.querySelector('webview')
webview.addEventListener('ipc-message', (event) => {
console.log(event.channel)
// Prints "pong"
})
webview.send('ping')
// In guest page.
const { ipcRenderer } = require('electron')
ipcRenderer.on('ping', () => {
ipcRenderer.sendToHost('pong')
})
webviewRef.value.addEventListener('ipc-message', (e) => {
//这里接受目标网页内,js 回掉的数据
// e.channel 是函数名
// e.args 是参数
console.log('来自js插件信息:ipc-message', e.channel, e.args)
let funcName = e.channel;
switch (funcName) {
//当执行js插件
case 'read-file':
webviewRef.value.send("readfilefromdata","oasssssskaflsdfsss");
console.log(".....webview发送数据,等待js插件中接收");
break;
default:
break;
}
})
JS
((window, document) => {
const {
ipcRenderer
} = require('electron')
console.log('-----js插件-----debug-----')
ipcRenderer.on("readfilefromdata", (event, value) => {
//文件在这里无法触发
console.log("j2>> locallllllll>>>>>", value);
});
ipcRenderer.sendToHost("read-file", {src: "d:\a.jpg"});
console.log("------------over--");
})(window, document)