我无法在我的电子.js浏览器之间共享我的数据

I can't share my data between my electron.js browsers

提问人:metkopetru 提问时间:11/8/2023 最后编辑:midnight-codingmetkopetru 更新时间:11/8/2023 访问量:24

问:

enter image description here

更新状态按钮的工作方式是,你把 11 位代码放进去,它会反向改变状态(它是枚举,所以如果它在船上,则更改为岸上或反向)。

但是我想将这个功能从 index.html 移动到 status.html,这是较小的浏览器,因为我想简化我的 index.html

但是当我尝试从 status.html(小浏览器)更新状态时,它的行为就像没有找到任何代码一样。因此,它就像是另一个主浏览器一样。 我想从 status.html(小浏览器)更新状态,我希望它更改 index.html大浏览器)状态。 如何在它们之间建立联系?

这是函数在 app.js 中创建、发送和捕获数据的方式:

function changeStatus() {
    const code = taskCode.value;
    const taskToUpdate = tasks.find(task => task.code === parseInt(code));
      
    if (taskToUpdate) {
        taskToUpdate.status = taskToUpdate.status === "onboard" ? "ashore" : "onboard";
        ipcRenderer.send("update-status", taskToUpdate);
        renderTasks(tasks);
        taskCode.value = ""; 
    } else {
        alert("Can't find any duty with the code you put");
    }
}
    
ipcRenderer.on("update-status-success", (e, args) => {
    const updatedTask = JSON.parse(args);
    console.log("Success:", updatedTask);
    renderTasks(tasks);
});

以及我如何在 main.js 中捕获它:

ipcMain.on("update-status", async (e, args) => {
    const updatedTask = await Task.findByIdAndUpdate(
        args._id, 
        { status: args.status },
        { new: true }
    );

    console.log("success")
    e.reply("update-status-success", JSON.stringify(updatedTask));
});

我收到了警报,即您输入的代码找不到任何职责

javascript html 节点 .js 电子 ipc

评论


答: 暂无答案