electrons webContents.undo() 在做什么?

What is electrons webContents.undo() doing?

我想构建一个使用撤销-重做功能的基于 Electron 的应用程序。现在可以在菜单中放置 undo/redo 个条目,并且电子中已经存在相应的角色。 role: undo+role: redo。如所见here

所以我已经发现可能发生的是如果我单击 'undo'-MenuItem 将调用 webContents.undo()

我现在的问题是,调用此撤消时到底发生了什么?我能以某种方式注册一个监听器并自己处理撤消吗?或者最好不要使用 'undo'-role 而是定义一个自定义菜单条目并自己处理所有事情?

也许有一些关于 electron chrome 浏览器如何处理那些撤消事件的规范,以及在哪里可以捕获它并定义我自己应该在 undo/redo 上发生的操作。

我认为你应该定义一个自定义菜单项并自己处理它。

我认为您不能注册侦听器并在那里处理它,因为 webContents 文档中没有事件。

菜单项应该是这样的:

{
    label:       'Undo',
    accelerator: 'CmdOrCtrl+Z',
    click:       function (menuItem, focusedWin) {
        // Undo.
        focusedWin.webContents.undo();

        // Run some custom code.
    }
}