electron 菜单栏打开指定url页面菜单实现方法

news2024/11/18 9:39:39

electron 菜单栏打开指定url页面菜单 可以是本地URL也可以是远程的URL 自动判断跳转

以下代码可以在主进程main.js里面也可以是在独立的模块文件里面

const { BrowserWindow } = require('electron');

//定义窗口加载URL
export const winURL = process.env.NODE_ENV === 'development' ? `http://localhost:${process.env.PORT}/` : `file://${__dirname}/index.html`

const menu = [
  {
    label: '开始',
    submenu: [{
      label: '返回首页',
      accelerator: 'CommandOrControl+H',//快捷键ctrl+h
      role: 'home',
      click:()=>goToUrl('/')
    },
    {
      label: '退出',
      accelerator: 'CmdOrCtrl+F4',
      role: 'close'
    }]
  }
]

  /**
   * URL跳转 支持本地URL和远程URL跳转
   * 注意 如果是VUE项目,本地URL的路由需要使用 hash路由
   * @author tekintian@gmail.com
   * @param {要跳转的URL地址} url
   */
  function goToUrl(url) {
    const currentWindow = BrowserWindow.getFocusedWindow();
    // 自动判断是本地URL还是远程URL
    const _url = url.startsWith('http')? url : `${winURL}#${url}`
    currentWindow.loadURL(`${_url}`)
  }

// 载入菜单

const menuconfig = Menu.buildFromTemplate(menu)

Menu.setApplicationMenu(menuconfig)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1338494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NativePHP:使用 PHP 构建桌面应用程序

PHP 在我心中占据着特殊的位置。它是我的第一份工作,我记得我在家里花了无数个小时做一些小项目。我非常想用 PHP 创建桌面应用程序,但我从来没有做到过。 现在,感谢 NativePHP,我可以了。 NativePHP 追随 Slack、Discord 和 Tre…

Ubuntu 20.04使用Livox Mid-360

参考文章: Ubuntu 20.04使用Livox mid 360 测试 FAST_LIO-CSDN博客 一:Livox mid 360驱动安装与测试 前言: Livox mid360需要使用Livox-SDK2,而非Livox-SDK,以及对应的livox_ros_driver2 。并需要修改FAST_LIO中部…

开集目标检测-标签提示目标检测大模型(吊打YOLO系列-自动化检测标注)

背景 大多数现有的对象检测模型都经过训练来识别一组有限的预先确定的类别。将新类添加到可识别对象列表中需要收集和标记新数据,并从头开始重新训练模型,这是一个耗时且昂贵的过程。该大模型的目标是开发一个强大的系统来检测由人类语言输入指定的任意…

【目标跟踪】解决多目标跟踪遮挡问题

文章目录 前言一、判定遮挡目标二、扩展目标框三、结论 前言 目标跟踪在发生遮挡时,极其容易发生Id Switch。网上许多算法忽视跟踪遮挡问题,同时网上相关资料也很少。博主为了解决跟踪遮挡,翻阅大量论文。分享其中一篇论文。论文链接:https:…

部署YUM软件仓库

借助于YUM软件仓库.可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解 决rpm包之间的依赖关系,而无须管理员逐个.手工地去安装每个rpm包,使管理员在维护大量Linux 服务器时更加轻松自如。.特别是在拥有大量Linux主机的本地网络中…

PYTHON入门级游戏开发:宇宙飞船游戏两万字详析

手讲解超详细python入门游戏项目‘打外星飞船’手把(一) 由于内容比较多,这里会分为五篇文章来讲解,从页面的创建、飞船控制、射击、外星人创建、射杀外星人五片来展开。 做一个窗口和设置响应用户 import sysimport pygame&qu…

Android 13 - Media框架(28)- ACodec(五)

前面几节我们了解了OMXNodeInstance是如何处理setPortMode、allocateBuffer、useBuffer的,这一节我们再回到ACodec,来看看 ACodec start 的其他部分。 我们首先来回顾一下,ACodec start 的状态切换以及处理的事务,我们用一张不太准…

23、Qt使用fftw3.3.5

一、下载 FFTW Installation on Windows 二、使用fftw 新建一个Qt项目,把“fftw3.h”和“libfftw3-3.dll”两个文件拷贝到项目目录下 在.pro中添加如下代码 LIBS -L$$PWD/ -llibfftw3-3 右击项目名称,选择“添加现有文件”,选择“fftw3.h…

【Echarts】使用echarts和echarts-wordcloud生成词云图

一、下载echarts和echarts-wordcloud 地址:https://download.csdn.net/download/qq_25285531/88663006 可直接下载放在项目中使用 二、词云数据 词云数据是对象的格式,可以从后端获取,这里以下面数据为例 $list3 array(array(name >…

《当初恋撞上人生》

《当初恋撞上人生》是很久以前起早的一个作品,然而断断续续、伤伤感感一直没写下去,最近打开看了一下,总算概述还完整,暂且贴出来也好。不想哪天一改,失了原本初心与色彩。 简章如下: 《初恋撞上人生》简述…

视频批量转码:一键转换多个视频mp4格式到FLV视频

在数字媒体时代,视频格式的多样性给处理工作带来了诸多不便。满足不同的播放需求,经常要视频从一种格式转换为另一种格式。其中,将mp4格式转换为FLV格式的需求很常见。现在一起来看下云炫AI智剪如何高效的将视频批量转码方法,一键…

CSS 文字弹跳效果

鼠标移过去 会加快速度 <template><div class"bounce"><p class"text" :style"{animationDuration: animationDuration}">欢迎使用UniApp Vue3&#xff01;</p></div> </template><script> export d…

运动轨迹仿真

重型运载火箭轨迹/总体参数一体化优化方法 硬核推导火箭运动方程&#xff0c;并用python仿真实现 rocket-simulation:MATLAB-火箭仿真软件 MatRockSim:Matlab 火箭飞行模拟器 【开源】飞鹰一号探空火箭——箭体设计、制造回顾与仿真对比 偏航角&#xff0c;滚动角&#xf…

HOJ 项目部署-前端定制 默认勾选显示标签、 在线编辑器主题和字号大小修改、增加一言功能 题目AC后礼花绽放

# 项目拉取地址&#xff1a; https://gitee.com/himitzh0730/hoj.git # 切换到hoj-vue目录执行以下命令 #安装依赖 npm install #运行服务 npm run serve #修改代码后构建项目到dist文件夹&#xff0c;到服务器docker-compose.yml中修改hoj-frontend文件映射即可 npm run build…

FPGA-AMBA协议、APB协议、AHB规范、AXI4协议规范概述及它们之间的关系

FPGA-AMBA协议、APB协议、AHB协议、AXI&#xff14;协议规范概述 笔记记录&#xff0c;AMBA协议、APB协议、AHB规范、AXI&#xff14;协议规范概述&#xff0c;只是概述描述&#xff0c;具体详细的协议地址传输、数据传输等内容将在下一章节详细说明。 文章目录 FPGA-AMBA协议…

自动化测试工程师怎样能规划好自己的职业生涯?

确定职业目标&#xff1a;首先&#xff0c;自动化测试工程师需要明确自己的职业目标&#xff0c;是希望在测试领域深入发展&#xff0c;还是希望向其他方向转型。如果希望在测试领域深入发展&#xff0c;可以专注于自动化测试技术的不断提升&#xff0c;以及测试管理的相关技能…

python3下载手机安卓版,python下载手机版最新

大家好&#xff0c;小编为大家解答python3下载手机安卓版的问题。很多人还不知道python下载手机版最新&#xff0c;现在让我们一起来看看吧&#xff01; 1、先去python官网下载python3的源码包&#xff0c;网址&#xff1a;https://www.python.org/ 1)进去之后点击导航栏的Down…

生成超清分辨率视频,南洋理工开源Upscale-A-Video

大模型在生成高质量图像方面表现出色,但在生成视频任务中&#xff0c;经常会面临视频不连贯、图像模糊、掉帧等问题。 这主要是因为生成式抽样过程中的随机性,会在视频序列中引入无法预测的帧跳动。同时现有方法仅考虑了局部视频片段的时空一致性,无法保证整个长视频的整体连贯…

物联网协议Coap之Californium CoapServer解析

目录 前言 一、CoapServer对象 1、类对象定义 2、ServerInterface接口 3、CoapServer对象 二、CoapServer服务运行分析 1、CoapServer对象实例化 1.1 调用构造方法 1.2 生成全局配置 1.3 创建Resource对象 1.4-1.8、配置消息传递器、添加CoapResource 1.9-1.12 创建线…

C# ASP.NET 实验室 检验中心 医疗LIS源码

LIS系统能够自动处理大量的医学数据&#xff0c;包括样本采集、样本处理、检测分析、报告生成等。它能够快速、准确地进行化验检测&#xff0c;提高医院的运营效率。LIS系统还提供了丰富的数据分析功能&#xff0c;能够对医院化验室的业务流程进行全面、细致的监控。 LIS系统优…