Electron.js防止刷新创建的窗口

Web*_*san 5 javascript electron

我正在尝试禁用Cmd + R或F5来刷新我的电子应用程序,如下所示:

  globalShortcut.register('CommandOrControl+R', () => false);
  globalShortcut.register('F5', () => false);
Run Code Online (Sandbox Code Playgroud)

但是,不幸的是,这会导致完全阻止刷新所有帧,即使对于其他浏览器也是如此。

如何只为我创建的窗口注册此类快捷方式?

备选: 我想,我们可以将捕鼠器用作此操作的选项,但我想知道-是否有某种内置方法用于此操作?

Joã*_*lva 3

这是防止窗口刷新的最合适的方法。其他方法不会阻止window.reload()呼叫。

ev对象保存有关触发卸载事件的信息,它可用于以您希望的任何方式定制事件的结果。

window.addEventListener('beforeunload', (ev) => {
      // Setting any value other than undefined here will prevent the window
      // from closing or reloading
      ev.returnValue = true;
    });
Run Code Online (Sandbox Code Playgroud)