使用IPC

时间:2017-12-27 05:27:25

标签: javascript webview electron ipc

我正在使用电子IPC与来自webview的访客内容进行沟通和捕获事件。(有关代码的详细信息,请参阅此link

<webview id="myView" src="http://127.0.0.1:8080" nodeintegration preload="./inyector.js"></webview>

在inyector.js文件中,我使用以下代码捕获每个点击事件:

document.addEventListener('click', function(event) {
    ipcRenderer.sendToHost(event);
});

以上代码将触发页面上的每次点击,但我想要的是捕获具有某个ID的特定按钮点击,也希望将信息从该按钮传递到我的主页。

我已经尝试了下面的代码,但它不起作用:

var btn = document.getElementById("mybtn");

btn.addEventListener('click', function (event) {
   ipcRenderer.sendToHost(event);
});

任何帮助将不胜感激。谢谢

更新

我能够解决上述问题。我没有使用预加载文件,而是在我的访客应用程序中添加了IPC,并使用相同的预加载脚本代码将事件从渲染过程发送到主进程。

1 个答案:

答案 0 :(得分:0)

如果你有一个id =“myButton”的按钮,只需为该按钮添加一个事件监听器。在click事件中,您可以捕获所需的任何信息并将其作为参数传递。

var btn = document.getElementById('myButton');
btn.addEventListener('click', function (event) {
   var info = myButton.text;
   ipcRenderer.sendToHost('myButtonClick', {info: info});
});