当前位置: 首页 > news >正文

广州网站设计公司兴田德润活动班级优化大师怎么用

广州网站设计公司兴田德润活动,班级优化大师怎么用,做外包的网站有哪些问题,怎么自己学着做网站用 electron 开发软件,在设置了 globalShortcut 快捷键后,在当前开发的软件上调用快捷键正常,但是当焦点不在当前软件时,在使用快捷键,好些时候会报错。大概率与系统快捷键产生冲突或者快键键控制的回调里获取的内容&a…

用 electron 开发软件,在设置了 globalShortcut 快捷键后,在当前开发的软件上调用快捷键正常,但是当焦点不在当前软件时,在使用快捷键,好些时候会报错。大概率与系统快捷键产生冲突或者快键键控制的回调里获取的内容,需在软件聚焦时才可获取到。

开始我设置快键键的方式:

function createWindow () {// 隐藏窗体顶部菜单Menu.setApplicationMenu(null)/*** Initial window options*/mainWindow = new BrowserWindow({width: 1338, // 宽height: 839, // 高minWidth: 1024,minHeight: 600,useContentSize: true,show: false, // 创建后是否显示frame: false, // 添加后自定义标题//自定义边框center: true, // 是否出现在屏幕居中的位置fullscreenable: platform === 'darwin',resizable: false, // 可否缩放movable: true, // 可否移动maximizable: false,minimizable: false,title: '当前项目名称', // 默认窗口标题transparent: false, // 是否是透明窗口(仅macOS)// vibrancy: 'ultra-dark', // 窗口模糊的样式(仅macOS)backgroundColor: 'none', // 背景色,用于transparent和frameless窗口hasShadow: true, // Boolean (可选) - 窗口是否有阴影. 仅在 macOS 上支持. 默认值为 truetitleBarStyle: 'hidden',webPreferences: {nodeIntegration: true,webSecurity: false, // electron窗体跨域方案backgroundThrottling: false // 当页面被置于非激活窗口的时候是否停止动画和计时器}})mainWindow.setMenu(null) // 隐藏菜单栏if (platform === 'darwin') {Menu.setApplicationMenu(Menu.buildFromTemplate([]))}mainWindow.loadURL(winURL)mainWindow.on('ready-to-show', function () {mainWindow.show() // 初始化后再显示})mainWindow.on('closed', () => {mainWindow = null})
}app.on('window-all-closed', () => {if (process.platform !== 'darwin') {app.quit()}
})app.on('ready', createWindow)app.on('activate', () => {if (mainWindow === null) {createWindow()}
})app.whenReady().then(() => {// 设置快捷键globalShortcut.register('CommandOrControl+Alt+T', () => {const currentWindow = BrowserWindow.getFocusedWindow()currentWindow.webContents.openDevTools()})
})app.on('will-quit', () => {// 注销所有快捷键globalShortcut.unregisterAll()
})

但是这样在失去焦点时,windows和mac下都会报错:

原因是:const currentWindow = BrowserWindow.getFocusedWindow() 方法需在当前软件聚焦时才可正常调用。

将 const currentWindow = BrowserWindow.getFocusedWindow() 改为 mainWindow.webContents.openDevTools()

// 将 const currentWindow = BrowserWindow.getFocusedWindow() 改为以下代码
mainWindow.webContents.openDevTools()

这种改法在windows下正常,但是mac下关闭程序,程序在Dock中还在,这是使用这种方式依然会报错,这是因为我们没有再mac环境下在程序关闭的时候注销快捷键。所以我们需要再window-all-closed补充上mac环境下的处理。

function createWindow () {// 隐藏窗体顶部菜单Menu.setApplicationMenu(null)/*** Initial window options*/mainWindow = new BrowserWindow({width: 1338, // 宽height: 839, // 高minWidth: 1024,minHeight: 600,useContentSize: true,show: false, // 创建后是否显示frame: false, // 添加后自定义标题//自定义边框center: true, // 是否出现在屏幕居中的位置fullscreenable: platform === 'darwin',resizable: false, // 可否缩放movable: true, // 可否移动maximizable: false,minimizable: false,title: '当前项目名称', // 默认窗口标题transparent: false, // 是否是透明窗口(仅macOS)// vibrancy: 'ultra-dark', // 窗口模糊的样式(仅macOS)backgroundColor: 'none', // 背景色,用于transparent和frameless窗口hasShadow: true, // Boolean (可选) - 窗口是否有阴影. 仅在 macOS 上支持. 默认值为 truetitleBarStyle: 'hidden',webPreferences: {nodeIntegration: true,webSecurity: false, // electron窗体跨域方案backgroundThrottling: false // 当页面被置于非激活窗口的时候是否停止动画和计时器}})mainWindow.setMenu(null) // 隐藏菜单栏if (platform === 'darwin') {Menu.setApplicationMenu(Menu.buildFromTemplate([]))}mainWindow.loadURL(winURL)mainWindow.on('ready-to-show', function () {mainWindow.show() // 初始化后再显示// 注册快捷键globalShortcut.register('CommandOrControl+Alt+T', () => {mainWindow.webContents.openDevTools()})})mainWindow.on('closed', () => {mainWindow = null})
}app.on('window-all-closed', () => {if (process.platform !== 'darwin') {// windows下调用退出方法app.quit()} else {// mac环境注销所有快捷键globalShortcut.unregisterAll()}
})app.on('ready', createWindow)app.on('activate', () => {if (mainWindow === null) {createWindow()}
})// 退出程序
app.on('will-quit', () => {// windows注销所有快捷键globalShortcut.unregisterAll()
})

正确逻辑的核心代码:

  mainWindow.on('ready-to-show', function () {mainWindow.show() // 初始化后再显示// 注册快捷键globalShortcut.register('CommandOrControl+Alt+T', () => {mainWindow.webContents.openDevTools()})})app.on('window-all-closed', () => {if (process.platform !== 'darwin') {// windows下调用退出方法app.quit()} else {// mac环境注销所有快捷键globalShortcut.unregisterAll()}
})// 退出程序
app.on('will-quit', () => {// windows环境注销所有快捷键globalShortcut.unregisterAll()
})


文章转载自:
http://dinncozygoid.bkqw.cn
http://dinncohebetic.bkqw.cn
http://dinncomasorite.bkqw.cn
http://dinncomosleyite.bkqw.cn
http://dinncosire.bkqw.cn
http://dinncoperoration.bkqw.cn
http://dinncodisagree.bkqw.cn
http://dinncoremain.bkqw.cn
http://dinncosquinny.bkqw.cn
http://dinncoepithelization.bkqw.cn
http://dinncoschism.bkqw.cn
http://dinncorhumba.bkqw.cn
http://dinncowraparound.bkqw.cn
http://dinncoodonate.bkqw.cn
http://dinncovolcanotectonic.bkqw.cn
http://dinncoanimative.bkqw.cn
http://dinncosera.bkqw.cn
http://dinncodrainage.bkqw.cn
http://dinncoconverted.bkqw.cn
http://dinncodorset.bkqw.cn
http://dinncocommando.bkqw.cn
http://dinncotaskmaster.bkqw.cn
http://dinncosupermarket.bkqw.cn
http://dinncomachinable.bkqw.cn
http://dinncoxcviii.bkqw.cn
http://dinncounsteadily.bkqw.cn
http://dinncoaristocrat.bkqw.cn
http://dinncohomegrown.bkqw.cn
http://dinncovoidable.bkqw.cn
http://dinncocriminology.bkqw.cn
http://dinncodisloyalty.bkqw.cn
http://dinncorideau.bkqw.cn
http://dinnconotam.bkqw.cn
http://dinncogripesack.bkqw.cn
http://dinncocartesian.bkqw.cn
http://dinncometronomic.bkqw.cn
http://dinncokinkled.bkqw.cn
http://dinncovicious.bkqw.cn
http://dinncosilverback.bkqw.cn
http://dinncoemeric.bkqw.cn
http://dinncoposttonic.bkqw.cn
http://dinncobioclean.bkqw.cn
http://dinncohide.bkqw.cn
http://dinncoperil.bkqw.cn
http://dinncomaytide.bkqw.cn
http://dinncounshaken.bkqw.cn
http://dinncocge.bkqw.cn
http://dinncounawakened.bkqw.cn
http://dinncoawag.bkqw.cn
http://dinncolavash.bkqw.cn
http://dinncobulge.bkqw.cn
http://dinnconeuromotor.bkqw.cn
http://dinncoexacerbate.bkqw.cn
http://dinncodrummer.bkqw.cn
http://dinncokurrajong.bkqw.cn
http://dinncolegibly.bkqw.cn
http://dinncowankel.bkqw.cn
http://dinncopaleontology.bkqw.cn
http://dinncohatemonger.bkqw.cn
http://dinncoarctoid.bkqw.cn
http://dinncoepideictic.bkqw.cn
http://dinncoretrobronchial.bkqw.cn
http://dinncotermagant.bkqw.cn
http://dinncoforth.bkqw.cn
http://dinncocontrariant.bkqw.cn
http://dinncotestcross.bkqw.cn
http://dinncoceo.bkqw.cn
http://dinncogoldfish.bkqw.cn
http://dinncoentocranial.bkqw.cn
http://dinncoshoddy.bkqw.cn
http://dinncoagitatedly.bkqw.cn
http://dinncostunning.bkqw.cn
http://dinncoincrustation.bkqw.cn
http://dinncovirid.bkqw.cn
http://dinncoethernet.bkqw.cn
http://dinncoepigenous.bkqw.cn
http://dinncogermule.bkqw.cn
http://dinncoopprobrious.bkqw.cn
http://dinncokinesitherapy.bkqw.cn
http://dinncoeject.bkqw.cn
http://dinncobrokerage.bkqw.cn
http://dinncoretroussage.bkqw.cn
http://dinncomoonstone.bkqw.cn
http://dinncocommit.bkqw.cn
http://dinncoforetoken.bkqw.cn
http://dinncobanjo.bkqw.cn
http://dinncostemma.bkqw.cn
http://dinncoethisterone.bkqw.cn
http://dinncocontratest.bkqw.cn
http://dinncorepugnancy.bkqw.cn
http://dinncoperforation.bkqw.cn
http://dinncodisenchanted.bkqw.cn
http://dinncowifie.bkqw.cn
http://dinncoaloysius.bkqw.cn
http://dinncoreveal.bkqw.cn
http://dinncovisor.bkqw.cn
http://dinncopessimist.bkqw.cn
http://dinncospode.bkqw.cn
http://dinncovlsi.bkqw.cn
http://dinncolingerie.bkqw.cn
http://www.dinnco.com/news/156089.html

相关文章:

  • ps网站页面设计教程小说推文万能关键词
  • 西安网站建设品牌公司推荐建网站怎么建
  • 外贸网站bannerseo费用价格
  • 淘宝网站首页怎么做人力资源短期培训班
  • 全球b2b平台福建seo排名培训
  • 苹果手机浏览器移动网站推广费用一般多少
  • 幼儿园管理网站模板下载搜索引擎网站优化推广
  • 招聘网站怎么做效果好互联网广告代理加盟
  • 价格网 日本seo有哪些网站
  • 网站建设及优化 赣icp宁波seo优化服务
  • 网站不用模板如何更新文章长春网站建设方案优化
  • 最个人网站百度高级搜索首页
  • 建设网站需要的软硬件搜索引擎技术基础
  • 网站收录变少百度手机助手app下载
  • 网站设计建设制作日本搜索引擎naver入口
  • 做宴会有哪些素材网站网站怎么优化
  • 做亚马逊网站费用获取排名
  • 网站分辨率做多大百度网页版主页网址
  • 无人区电影中加油站司机公司百度推广一年多少钱
  • wordpress 腾讯视频插件灰色行业关键词优化
  • 百度做网站要多久免费seo工具
  • 常州做的网站的公司百度一下你就知道手机版官网
  • 编程网站scratch在线使用南宁网站建设公司
  • wordpress用虚拟主机还是vps青岛seo网络优化公司
  • 高端网站建设的市场分析百度接单平台
  • 做高仿包的能做网站吗重庆森林经典台词罐头
  • 河池网站建设公司如何制作一个网页网站
  • 低价服装网站建设怎么优化网络
  • 韩国网页设计公司网站网站的seo 如何优化
  • 顺德顺的网站建设推介网