当前位置: 首页 > 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://www.mmbaike.com/news/90535.html

相关文章:

  • 衡水移动网站建设报价seo关键词排名优化的方法
  • 网站开发技术服务合同范本成全视频免费观看在线看
  • 网站做广告如何做帐搜索关键词排名优化软件
  • 网站开发方法seo岗位工作内容
  • 无锡网站建设工作线上推广宣传方式有哪些
  • 宾馆网站如何做会计分录产品推广方式有哪些
  • 有开源项目做的网站seo综合查询工具
  • 视觉传达设计是学什么的做灰色词seo靠谱
  • 毕设做网站的系统概述怎么写seo公司是做什么的
  • 做网站可以用电脑当服务器吗宁波网络推广平台
  • 基因数据库网站开发价格怎么自己制作一个网站
  • 比特币做游戏币的网站什么是软文文案
  • 鄱阳做网站爱站seo查询软件
  • 企业网络推广网站建设百度推广账号怎么申请
  • 徐州疫情最新消息今天2022年seo最新优化策略
  • 广东快速做网站公司十大app开发公司排名
  • 网站列表页怎么做内链百度的排名规则详解
  • 网站在工信部备案查询江西seo推广方案
  • 长沙企业网站建设团队外贸电商平台哪个网站最好
  • 网站怎么做rss站长平台官网
  • 阜南网站建设百度云网盘资源搜索引擎入口
  • 有哪些做企业点评的网站怎么进行网站关键词优化
  • wordpress 网站被挂马qq群推广方法
  • 知名的政府网站建设文大侠seo博客
  • 网站导航栏内容最有效的100个营销方法
  • 深远互动 网站建设成都网站快速排名
  • 玉雕网站建设线上营销策划方案
  • 淄博哪个网站做房屋出赁好百度竞价排名的优缺点
  • c 网站建设教程视频教程百度平台我的订单查询在哪里
  • 5118网站seo优化推广