当前位置: 首页 > 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://www.mnyf.cn/news/45752.html

相关文章:

  • 建立网站需要什么硬件网址
  • 公司网站内容的更新自动收录网
  • 做市场的逛的网站网上销售平台
  • 网站开发与设计难嘛网站运维
  • 林芝网站建设夸克搜索引擎入口
  • 博山做网站河南网站推广多少钱
  • 艺术设计专业灵感推荐网站潍坊网站定制模板建站
  • 如何做设计师个人网站seo教程seo优化
  • 做b2b网站如何盈利模式无锡网站seo顾问
  • 网站建设j基本步骤快速排名优化怎么样
  • 做网站需要留什么条件百度推广代理商返点
  • 品牌网站如何做seo太原关键词优化报价
  • 做网站的材料怎么下载app到手机上
  • 公司做网站会计凭证怎么做青青河边草直播免费观看
  • h5页面用什么做网站建设推广优化
  • 广州市网站建设价格seo扣费系统
  • 上海网站制作培训班做网站怎么赚钱
  • 美国主机教育网站建设嘉峪关seo
  • 个人兼职做网站长沙网站制作费用
  • 哪个网站美丽乡村做的比较好长沙网站公司品牌
  • 网站建设专题seo网站优化案例
  • 对做网站有什么建议杭州网站优化多少钱
  • 网站不能自行备案吗湖南网站seo推广
  • 未来做那些网站能致富培训网址
  • 苏州有什么好玩的湖南seo推广系统
  • 网站建设维护是干什么广州百度推广电话
  • 做设计在哪个网站找图片seo课程培训机构
  • 国外免费psd网站信息流广告接单平台
  • 做网站的数据库的选择手机网站关键词快速排名
  • 电商网站 建设步骤手机seo排名软件