Electronjs:即使我等待窗口准备就绪,WebContents.send也不会发送任何事件

时间:2019-07-15 15:20:53

标签: javascript electron

我目前正在用electronicjs编写应用程序。我正在尝试使用window.webContents.send()从主进程向辅助窗口发送事件。但是,似乎没有使用以下代码发送事件:

main.js

newTaskWindow = new BrowserWindow({
    webPreferences: {nodeIntegration: true},
    resizable: false,
    height: 480,
    width: 600,
    frame: false,
    alwaysOnTop: true,
    show: false
});

//Load html into window
newTaskWindow.loadURL(url.format({
    pathname: path.join(__dirname, "newTaskWindow.html"),
    protocol: "file",
    slashes: true
}));

//Waiting for window to load
newTaskWindow.webContents.on('did-finish-load', () => {
    newTaskWindow.webContents.send("change-new-task-window-title", title);
});

newTaskWindow.js

ipcRenderer.on("change-new-task-window-title", (event, title) => {
    $(".__title-main").html(title);
});

您可以看到,尽管等待窗口加载,但事件仍未发送。

我尝试了所有发现的事件,以查看窗口是否准备就绪: 无论是否放置.webContents,我都尝试过使用“ dom-ready”,“ ready-to-show”和“ ready-to-show”。

但是,当我用setTimeout等待一段时间时会发送事件,但是这种解决方案确实感觉有些笨拙。我想知道我是否做错了什么,因为我在互联网上找到的所有示例都不需要setTimeout。

谢谢。

0 个答案:

没有答案