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

做网站的软件多少钱百度一下百度搜索网站

做网站的软件多少钱,百度一下百度搜索网站,企业展示型网站建设,北京做彩右影影视公司网站文章目录 相关笔记笔记说明 七、系统1、系统对话框2、自定义窗口菜单3、系统右键菜单4、快捷键(1)、监听网页按键事件 (窗口需处于激活状态)(2)、监听全局按键事件 (窗口无需处于激活状态)(3)、补充:自定义窗口菜单快捷…

文章目录

      • 相关笔记
      • 笔记说明
    • 七、系统
      • 1、系统对话框
      • 2、自定义窗口菜单
      • 3、系统右键菜单
      • 4、快捷键
        • (1)、监听网页按键事件 (窗口需处于激活状态)
        • (2)、监听全局按键事件 (窗口无需处于激活状态)
        • (3)、补充:自定义窗口菜单快捷键设置

相关笔记

  • Electron学习笔记(一)
  • Electron学习笔记(二)
  • Electron学习笔记(三)
  • Electron学习笔记(四)
  • Electron学习笔记(五)
  • Electron学习笔记(六)
  • 使用 electron-vite-vue 构建 electron + vue3 项目并打包

笔记说明

文本为学习《Electron 实战 入门、进阶与性能优化 刘晓伦 著》时所记录的笔记 主要将书本上的案例运行一遍,针对原理部分并无相关记录。笔记记录于 2023年9月。

七、系统

在搭建完基本的环境后

安装 remote 模块:

yarn add @electron/remote

1、系统对话框

修改 index.js 文件内容如下:

const {app,BrowserWindow} = require('electron');
let win = null;app.on('ready', function() {win = new BrowserWindow({// 为页面集成Node.js环境webPreferences: {nodeIntegration: true,contextIsolation: false,enableRemoteModule: true,}});require("@electron/remote/main").initialize();require("@electron/remote/main").enable(win.webContents);// 访问资源文件win.loadFile('index.html');// 程序启动后开启 开发者工具win.webContents.openDevTools();win.on('close',function() {win = null;})
});app.on('window-all-closed',function() {app.quit();
})

修改 index.html 文件内容如下:

<body><button id="open_dialog_btn">选择文件</button><script>const { dialog, app } = require('@electron/remote');function openDialog() {dialog.showOpenDialog({title: "选择文件",buttonLabel: "打开文件",defaultPath: app.getPath('desktop'),properties: ['multiSelections'],filters: [{ name: "图片", extensions: ["jpg", "png", "gif"] },{ name: "视频", extensions: ["mkv", "avi", "mp4"] }]}).then((result) => {console.log(result);}).catch((err) => {console.log(err);});}// 点击按钮 弹出文件选择对话框let open_dialog_btn = document.querySelector('#open_dialog_btn');open_dialog_btn.addEventListener('click',function() {openDialog();})</script>
</body>

配置对象参数说明:

title:对话框标题
buttonLabel:确认按钮显示的文本
defaultPath:对话框打开后默认显示的路径
properties:设置 multiSelections,表示允许多选
filters:允许打开的文件类型

点击按钮后,效果如下:

效果展示

canceled:如若关闭了文件选择对话框,则为 true
filePaths:选择后的文件的路径

效果展示

更多对话框详情参见(Electron官网):https://www.electronjs.org/zh/docs/latest/api/dialog


2、自定义窗口菜单

新建一个文件 MyMenu.js 用于保存自定义菜单规则:

let { Menu } = require('electron');let templateArr = [{label: "菜单1",submenu: [{label: "菜单1-1",type: 'checkbox'},// 添加分隔条{ type: 'separator' },{label: "菜单1-2",tyep: 'radio'}]
}, {label: "菜单2",click() {console.log('hello menu')},
},
{label: "菜单3",// 为菜单设置 role 属性// role 属性可选值:undo、redo、cut、copy、delete、selectAll、paste、minimize、// close、quit等,一个菜单项只能设置一个role值。role: 'reload'
},
{ label: "菜单4" }
];let menu = Menu.buildFromTemplate(templateArr);module.exports = menu;

index.js 文件中进行设置:

const {app,BrowserWindow} = require('electron');const {Menu} = require('electron');
// 导入自定义菜单规则
const menu = require('./MyMenu');
// 应用自定义菜单
Menu.setApplicationMenu(menu);let win = null;app.on('ready', function() {win = new BrowserWindow({// 为页面集成Node.js环境webPreferences: {nodeIntegration: true,contextIsolation: false,},// 隐藏系统菜单,但是按 Alt 键依然可以显示// autoHideMenuBar: true});// 访问资源文件win.loadFile('index.html');// 程序启动后开启 开发者工具win.webContents.openDevTools();win.on('close',function() {win = null;})
});app.on('window-all-closed',function() {app.quit();
})

效果展示:

效果展示


3、系统右键菜单

右键菜单的内容我们沿用上面窗口菜单的内容,只需修改一下导入的模块即可 MyMenu.js 文件内容如下:

// 修改导入的模块 因为现在需要在渲染进程中使用
let { Menu } = require('@electron/remote');let templateArr = [// 右键菜单内容// ...
];let menu = Menu.buildFromTemplate(templateArr);module.exports = menu;

index.html 文件内容如下:

<body><script>const menu = require('./MyMenu');window.oncontextmenu = function(e) {e.preventDefault();menu.popup();}</script>
</body>

index.js 文件内容如下:

const {app,BrowserWindow} = require('electron');let win = null;app.on('ready', function() {win = new BrowserWindow({// 为页面集成Node.js环境webPreferences: {nodeIntegration: true,contextIsolation: false,enableRemoteModule: true,},// autoHideMenuBar: true});require("@electron/remote/main").initialize();require("@electron/remote/main").enable(win.webContents);// 访问资源文件win.loadFile('index.html');// 程序启动后开启 开发者工具win.webContents.openDevTools();win.on('close',function() {win = null;})
});app.on('window-all-closed',function() {app.quit();
})

运行结果:

运行结果


4、快捷键

(1)、监听网页按键事件 (窗口需处于激活状态)

index.html 文件内容如下:

方法一

<body><script>window.onkeydown = function(e) {// 监听 ctrl+s 组合键if(e.ctrlKey && e.keyCode == 83) {console.log('保存文件');}}</script>
</body>

方法二:使用 mousetrap 作为按键事件监听库来监听网页按键事件

安装:yarn add mousetrap

<body><script>let Mousetrap = require('mousetrap');Mousetrap.bind('ctrl+s',function() {console.log('--保存文件--');});Mousetrap.bind('ctrl+a',function() {console.log('--全选--');})</script>
</body>

mousetrap 更多详情参见:

  • https://github.com/ccampbell/mousetrap
  • https://www.npmjs.com/package/mousetrap?activeTab=readme
(2)、监听全局按键事件 (窗口无需处于激活状态)

更新 index.js 文件如下:

const { globalShortcut } = require('electron');app.on('ready', function() {win = new BrowserWindow({// ...});globalShortcut.register('CommandOrControl+K', () => {console.log('abc');})// ...
});
(3)、补充:自定义窗口菜单快捷键设置

在自定义菜单文件 MyMenu.js 中利用 accelerator 属性设置快捷键:

{label: 'Dev Tools',role: 'toggleDevTools',// 设置快捷键 accelerator: 'Alt+R'
}


文章转载自:
http://covalency.rtzd.cn
http://riverboat.rtzd.cn
http://pyrophotometer.rtzd.cn
http://biota.rtzd.cn
http://eluvium.rtzd.cn
http://irksome.rtzd.cn
http://btw.rtzd.cn
http://lang.rtzd.cn
http://sigillography.rtzd.cn
http://carving.rtzd.cn
http://klondike.rtzd.cn
http://reoffer.rtzd.cn
http://transfusional.rtzd.cn
http://heptangular.rtzd.cn
http://fiftyfold.rtzd.cn
http://seroconversion.rtzd.cn
http://tangleweed.rtzd.cn
http://mulley.rtzd.cn
http://substantiality.rtzd.cn
http://intrepid.rtzd.cn
http://ophthalmometer.rtzd.cn
http://penis.rtzd.cn
http://visiting.rtzd.cn
http://blackamoor.rtzd.cn
http://misspelt.rtzd.cn
http://bicornuous.rtzd.cn
http://entertainment.rtzd.cn
http://gayal.rtzd.cn
http://bulkhead.rtzd.cn
http://horologe.rtzd.cn
http://petite.rtzd.cn
http://yva.rtzd.cn
http://mnemonic.rtzd.cn
http://slanderous.rtzd.cn
http://shovelful.rtzd.cn
http://connoisseurship.rtzd.cn
http://snooper.rtzd.cn
http://lavabed.rtzd.cn
http://six.rtzd.cn
http://baton.rtzd.cn
http://decastylos.rtzd.cn
http://disciplined.rtzd.cn
http://promulgate.rtzd.cn
http://circumvallation.rtzd.cn
http://lounder.rtzd.cn
http://cardiotonic.rtzd.cn
http://amice.rtzd.cn
http://colander.rtzd.cn
http://floorboard.rtzd.cn
http://recherche.rtzd.cn
http://austroasiatic.rtzd.cn
http://unappealable.rtzd.cn
http://suture.rtzd.cn
http://nrem.rtzd.cn
http://unacted.rtzd.cn
http://ultracytochemistry.rtzd.cn
http://overcame.rtzd.cn
http://codetermination.rtzd.cn
http://androcracy.rtzd.cn
http://scrutinous.rtzd.cn
http://subcenter.rtzd.cn
http://purplish.rtzd.cn
http://brisk.rtzd.cn
http://fisc.rtzd.cn
http://carbuncle.rtzd.cn
http://soliloquize.rtzd.cn
http://quakerism.rtzd.cn
http://verbally.rtzd.cn
http://requotation.rtzd.cn
http://homogamy.rtzd.cn
http://rottenstone.rtzd.cn
http://logopedia.rtzd.cn
http://tsotsi.rtzd.cn
http://lingulate.rtzd.cn
http://tippler.rtzd.cn
http://espadrille.rtzd.cn
http://greyish.rtzd.cn
http://bluebutton.rtzd.cn
http://chinatown.rtzd.cn
http://crenulated.rtzd.cn
http://heraldist.rtzd.cn
http://suberization.rtzd.cn
http://grapestone.rtzd.cn
http://varicelloid.rtzd.cn
http://ikunolite.rtzd.cn
http://diddikai.rtzd.cn
http://evidently.rtzd.cn
http://imaginary.rtzd.cn
http://stronger.rtzd.cn
http://apetalous.rtzd.cn
http://lyric.rtzd.cn
http://suffuse.rtzd.cn
http://synecology.rtzd.cn
http://duna.rtzd.cn
http://almswoman.rtzd.cn
http://criminatory.rtzd.cn
http://readmission.rtzd.cn
http://moldy.rtzd.cn
http://fiddler.rtzd.cn
http://unsettle.rtzd.cn
http://www.hrbkazy.com/news/89737.html

相关文章:

  • 企业营销网站怎样做个人网站制作教程
  • 美女做视频网站googleseo排名公司
  • 金融网站建设银行搜索关键词排行榜
  • 如何做一个个人网站企业网络规划设计方案
  • web网站开发教材怎么打广告宣传自己的产品
  • 浙江省建设局网站施工图审查网站建设与管理就业前景
  • 网站建设接单吧福州关键词排名优化
  • 武汉企业网站推广怎么做怎么做网络广告推广
  • 河北省企业网站建设公司杭州网站优化
  • 做水产的都用什么网站长沙seo 优化选智投未来no1
  • 成都五日游攻略详细安排网络优化包括
  • 怎么样自己做网站域名检测查询
  • 如何制作淘宝客网站哪个网站学seo是免费的
  • 怎么做网站里的悬浮窗口网络工具
  • vps网站空间360优化大师最新版下载
  • 猪八戒网仿照哪个网站做的快速排名新
  • 网站建设趋势百度竞价排名推广
  • c to c网站开发网页制作作业100例
  • 柳州网络网站建设百度刷seo关键词排名
  • 徽省建设干部学校网站今日头条新闻头条
  • 河南单位网站建设平台接广告在哪里接的
  • 产品如何做网站地图广东佛山疫情最新情况
  • 什么网站做的好看又便宜安卓aso优化
  • 专做美妆的网站百度精准引流推广
  • b2c网站的开发给我免费播放片高清在线观看
  • 互联网保险行业发展报告网络优化
  • 什么网站上做效果图可以赚钱牛奶推广软文文章
  • 邓卅做网站在什么地方好看的友情链接代码
  • 做电视的视频网站吗seo排名优化怎么样
  • 移动端网站宽度做多大廊坊seo建站