我正尝试禁用Cmd + R或F5来刷新我的电子应用程序,如下所示:
globalShortcut.register('CommandOrControl+R', () => false);
globalShortcut.register('F5', () => false);
但是,不幸的是,这会导致完全阻止所有帧刷新,即使对于其他浏览器也是如此。
如何仅为我创建的窗口注册此类快捷方式?
替代: 我猜想,我们可以使用 Mousetrap 作为此类操作的选项,但我想知道-是否有某种内置方法用于此类操作?
答案 0 :(得分:2)
这是防止刷新窗口的最合适方法。其他方法不能阻止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;
});