【Electron】桌面应用开发启动直接打开一个网址或者浏览器打开一个网址

【Electron】桌面应用开发启动时直接打开一个网址或者跳转浏览器打开一个网址

前一篇有写过 Electron 桌面应用开发快速入门到打包Windows应用程序

但是现在需要程序打开的时候直接打开一个链接,在程序的窗口打开或者直接跳转浏览器打开

一、启动时直接打开一个网址

index.js(有些人用的main.js)

javascript 复制代码
// Modules to control application life and create native browser window
const { app, BrowserWindow, Menu } = require('electron')
const path = require('node:path')
 
const gotTheLock = app.requestSingleInstanceLock()
 
const createWindow = () => {
  // Create the browser window.
  const mainWindow = new BrowserWindow({
    width: 1000,
    height: 800,
    title: "测试项目",
    icon: path.join(__dirname, 'icon.ico'),
    webPreferences: {
      webSecurity: false
    }
  })
 
  //隐藏顶部菜单
  Menu.setApplicationMenu(null)
  //设置网站url ‌例如打开 百度 的链接
  mainWindow.loadURL("https://www.baidu.com/")
}
 
// 这段程序将会在 Electron 结束初始化
// 和创建浏览器窗口的时候调用
// 部分 API 在 ready 事件触发后才能使用。
if (!gotTheLock) {
  app.quit()
} else {
  app.whenReady().then(() => {
    createWindow()
 
    app.on('activate', () => {
      // 在 macOS 系统内, 如果没有已开启的应用窗口
      // 点击托盘图标时通常会重新创建一个新窗口
      if (BrowserWindow.getAllWindows().length === 0) createWindow()
    })
  })
}
 
// 除了 macOS 外,当所有窗口都被关闭的时候退出程序。 因此, 通常
// 对应用程序和它们的菜单栏来说应该时刻保持激活状态, 
// 直到用户使用 Cmd + Q 明确退出
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') app.quit()
})

二、启动时跳转浏览器打开一个网址

index.js

javascript 复制代码
const { shell } = require('electron') // 引入 Electron 的 shell 模块

function openLink(url) {
  shell.openExternal(url) // 使用 openExternal 方法打开链接
}

// 调用函数,‌例如打开 百度 的链接
openLink('https://www.baidu.com/')

如果在打包的时候遇到各种诡异的报错,可以参考以下文章:
【Electron】桌面应用开发electron-builder打包报错问题处理

相关推荐
恋猫de小郭2 分钟前
Flutter 的文字为什么比 SwiftUI 更细?问题主要在 Skia 的 256 项查找表里
android·前端·flutter
lexiangqicheng5 分钟前
前端高阶面试核心通关指南:深入解析Vue3与React18底层原理及性能优化
前端·面试·性能优化
怕浪猫5 分钟前
前端对接聊天 API:我用 React 做了一个比 ChatGPT 还好看的界面
前端·后端·面试
程序员小孔.9 分钟前
基于 Spring Cloud + Vue 的 JEEWMS 开源仓储管理平台设计与实现
前端·javascript·vue.js·spring boot·spring cloud·开源
IT_陈寒10 分钟前
深入理解Python:核心原理与最佳实践
前端·人工智能·后端
创世虚拟世界14 分钟前
把 3D 虚拟世界拉到本地:vibe coding 的手感,是从看见自己那一行改动开始的
javascript·数据库·人工智能·3d·gitee·虚拟现实
我喜欢就喜欢22 分钟前
Chrome 插件开发实战指南
前端·chrome
夕阳_醉了24 分钟前
花了一天的时间,地板式扫盲了vue3所有API盲点
前端·javascript·vue.js
LinDaiuuj34 分钟前
Figma Specs 高效交付与开发协作指南
前端·figma
风骏时光牛马1 小时前
大模型底层架构与推理机制源码深度剖析
前端