通过键盘快捷键电子应用程序禁用重新加载

2024-05-05

我想实现一个绑定到的自定义操作Command+R电子应用程序中的键盘快捷键。

我克隆了electron-quick-start回购,并改变了main.js文件到此:

const { app, Menu, MenuItem, BrowserWindow } = require('electron')

let mainWindow

let template = [
  { label: app.getName(), submenu: [
    { label: 'custom action 1', accelerator: 'Command+R',       click() { console.log('go!') } },
    { label: 'custom action 2', accelerator: 'Shift+Command+R', click() { console.log('go!') } },
    { type: 'separator' },
    { role: 'quit' }
  ] }
]

const menu = Menu.buildFromTemplate(template)

function createWindow () {
  mainWindow = new BrowserWindow({width: 800, height: 600})
  mainWindow.loadURL(`file://${__dirname}/index.html`)
  mainWindow.webContents.openDevTools()
  mainWindow.on('closed', function () { mainWindow = null })
  // Set application menu
  Menu.setApplicationMenu(menu)
}

app.on('ready', createWindow)

app.on('window-all-closed', function () {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', function () {
  if (mainWindow === null) {
    createWindow()
  }
})

The menu works when the app is run npm start. But when you press ⌘R the page reloads instead of performing the custom shortcut defined in the template.

我这里缺少什么吗?


这是简单的解决方案::

const { globalShortcut } = require('electron');
app.on('browser-window-focus', function () {
    globalShortcut.register("CommandOrControl+R", () => {
        console.log("CommandOrControl+R is pressed: Shortcut Disabled");
    });
    globalShortcut.register("F5", () => {
        console.log("F5 is pressed: Shortcut Disabled");
    });
});
app.on('browser-window-blur', function () {
    globalShortcut.unregister('CommandOrControl+R');
    globalShortcut.unregister('F5');
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过键盘快捷键电子应用程序禁用重新加载 的相关文章

随机推荐

  • 表、TR各2个循环、PHP、HTML

    我有一个 html 表 我使用一些循环来获取一些数据 该数据以这种方式显示 tr td Data td tr next loop 但我不希望它每 2 个甚至 3 个循环关闭表行 tr 所以数据可能如下所示 tr td Data td td
  • 使用矩阵参数创建 GET 请求

    我将使用的网络服务需要矩阵参数 http tester com v1 customers lastname Jackson firstname Tim bookingreference 7Y9UIY 而不是通常的 http tester c
  • RadioButton 和 DropDownList 的 MVC 服务器端验证

    使用 ASP NET Core 2 2 Razor Pages 我正在探索将单选按钮和下拉列表绑定到页面模型 很多人都在询问客户端验证以 使其正常工作 我的问题是 当我查看这段代码时 绑定引擎是否正在执行任何服务器端检查 foreach v
  • 从 java servlet 运行长进程的最佳方法是什么?

    我想问从 java servlet 运行长进程的最佳方法是什么 我有一个网络应用程序 当客户端发出请求时 它会运行一个 servlet 该 servlet 应该从请求中获取一些参数 然后运行一个进程 这个过程可能需要很长时间 所以我需要单独
  • 使用列模数的更简洁方法

    我目前有一个人员列表 我已将其分为两列 但在完成代码后 我一直想知道是否有更有效或更干净的方法来完成同样的事情 echo table class area list tr Loop users within areas divided up
  • NSTimer 每分钟运行一次,但在第一秒运行

    我有使用 NSTimer 每分钟运行一次的经验 例如 NSTimer scheduledTimerWithTimeInterval 60 0 target self selector Selector everyMinute userInf
  • WPF - 从 UserControl 发出命令时 CanExecute 不会触发

    我有一个按钮条用户控件 我想在我的大多数表单上使用它 我添加了如下命令 public ICommand Create get return buttonCreate Command set buttonCreate Command valu
  • 检查 docker 在 Gitlab CICD 管道中运行

    我在用着亚搏体育appGitlab CI CD https docs gitlab com ee ci README html构建 Node 服务器的 Docker 镜像 我想知道是否有办法测试它docker run图像的质量还可以 我们很
  • jupyter 笔记本幻灯片:默认跳过

    使用 Jupyter 制作幻灯片时 有没有办法滑轨类型 set to Skip对于新单元格 默认情况下 我的解决方法满足你的要求 创建一个空的 跳过 幻灯片并输入 Esc键 C V V V 复制并粘贴许多空的 跳过 幻灯片
  • Python Pandas to_sql,如何创建带有主键的表?

    我想使用 Pandas 的 to sql 函数创建一个 MySQL 表 该函数有一个主键 在 mysql 表中拥有主键通常是件好事 如下所示 group export to sql con db name config table grou
  • 如何使用参数重定向

  • 如何查找 Android 上剩余的可用存储空间(磁盘空间)? [复制]

    这个问题在这里已经有答案了 我试图找出运行我的应用程序的 Android 手机上的可用磁盘空间 有没有办法以编程方式执行此操作 Thanks 示例 获取人类可读的大小 如 1 Gb 字符串内存 bytesToHuman totalMemor
  • 如何在活动记录/Rails 4 迁移中创建具有唯一索引的新表

    如何通过 Rails 迁移创建新表并向其添加唯一索引 在文档中 我找到了如何在创建表后向表添加索引 但是如何在同一个迁移文件中同时执行这两项操作 创建表并添加唯一索引 这是完整的过程 生成迁移 rails generate migratio
  • 如何下载 NLTK 数据?

    更新的答案 NLTK 适用于 2 7 我有3 2 我卸载了3 2并安装了2 7 现在可以了 我已经安装了 NLTK 并尝试下载 NLTK 数据 我所做的是按照该网站上的说明进行操作 http www nltk org data html h
  • 使用 jQuery 将 div 垂直和水平居中

    我正在使用这个脚本将我的 div 水平和垂直居中 当页面加载时 div 会垂直居中 而不是水平居中 直到我调整浏览器大小 我究竟做错了什么 document ready function window resize function cla
  • 如何应用Clojure? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习 Clojure 我真的很喜欢它的一些功能 是时候考虑一 些真正的 宠物项目 了 我意识到我不知道如何真正做到这一点use克
  • 使用 target_link_libraries 以绝对路径作为库路径进行平台库名称扩展?

    在 CMake 中使用 target link libraries 仅使用库名称 例如 target link library myProject SomeLibrary 将根据平台将 SomeLibrary 扩展为 SomeLibrary
  • 如何在 Excel 的 VBA 中求负数的立方根?

    我正在尝试在 Excel 的 VBA 中计算负数的立方根 在 Excel 工作表中取负数的立方根效果很好 2 1 3 1 25992 然而 相同的概念被编码到 VBA 中 2 1 3 gives a VALUE 将值返回到工作表时出错 我怀
  • VS2010 .NET 内存分析 - 非常慢

    运行 VS2010 的 NET 内存分配分析需要很长时间才能完成 该程序本身运行了大约 3 分钟并生成了 35GB 的内存分配 探查器的输出文件约为 28GB 报告分析流程接管三个小时 在具有 8GB RAM 的双 Xeon 上 即可完成
  • 通过键盘快捷键电子应用程序禁用重新加载

    我想实现一个绑定到的自定义操作Command R电子应用程序中的键盘快捷键 我克隆了electron quick start回购 并改变了main js文件到此 const app Menu MenuItem BrowserWindow r