您好,登錄后才能下訂單哦!
Electron中webview是如何與主進程渲染進程進行事件監聽通信,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
webview 調用 加載頁 方法通過<webview>.executeJavaScript(code[, userGesture, callback])或者webview.send()發送,而在訪客頁使用ipcRenderer.on()監聽
注意、注意、注意:
訪客頁需要調用webview所在頁面的方法,則需要在webview中加上屬性 nodeintegration="true"
訪客頁(被webview加載的資源頁面)也就是webview中src指定的頁面(瀏覽器頁面)
if ( window.require('electron') ) {
let ipcRenderer = window.require('electron').ipcRenderer;
ipcRenderer && ipcRenderer.on('webmsg', (e, msg) => {
console.log(msg,'收到的消息');
});
ipcRenderer && ipcRenderer.sendToHost('我已經收到消息了');
}
webview所在頁面(客戶端頁面)
let webview = document.getElementById('test');
webview.addEventListener('ipc-message', (event) => { //ipc-message監聽,被webview加載頁面傳來的信息
console.log(event.channel)//最終收到消息輸出 子頁面信息
})
如果設置了不生效,請在此確認是否在webview標簽上設置了nodeintegration="true"的屬性
看完上述內容,你們掌握Electron中webview是如何與主進程渲染進程進行事件監聽通信的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。