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)