3-Electron打开新窗口,并跳转到指定的路由

需要配置路由。src/router/index.js

复制代码
    {
      path: "/selectMode",
      name: "selectMode",
      component: () => import("/@/view/selectMode/index.vue"),
    },

src/**.vue

复制代码
import { ipcRenderer } from "electron";

const openNewTab = () => {
  let params = {
    url: "/selectMode", // 路由path
  };
  ipcRender.send("openNewTab", params);
};

electron/index.ts

复制代码
let nweTab
// 打开新窗口
ipcMain.on("openNewTab", async (event, arg) => {
  newTab = new BrowserWindow({
    width: 1400,
    height: 800,
    webPreferences: {
      // preload: path.join(__dirname, "preload.js"),
      nodeIntegration: true,
      contextIsolation: false,
      webSecurity: false, // 禁用同源策略,允许跨域
    },
  });

  if (process.env.VITE_DEV_SERVER_URL) {
    newTab.loadURL(url + "#" + arg.url);
    // newTab.loadURL(`http://localhost:3000/#/file_preview`)
    newTab.webContents.openDevTools();
  } else {
    newTab.loadFile("dist/index.html", {
      hash: arg.url
    });
    // newTab.loadFile("dist/index.html", {
      hash: "/file_preview"
    })
    newTab.webContents.openDevTools();
  }
});

相关链接:electron实现打开子窗口,窗口加载vue路由指定的组件页面

相关推荐
奶昔不会射手3 分钟前
css3之grid布局
前端·css·css3
举个栗子dhy7 分钟前
解决在父元素上同时使用 onMouseEnter和 onMouseLeave时导致下拉菜单无法正常展开或者提前收起问题
前端·javascript·react.js
Coding_Doggy13 分钟前
苍穹外卖前端Day1 | vue基础、Axios、路由vue-router、状态管理vuex、TypeScript
前端
前端与小赵13 分钟前
vue3和vue2生命周期的区别
前端·javascript·vue.js
用户4582031531717 分钟前
10个你可能不知道的实用CSS技巧,立竿见影提升开发效率
前端·css
在逃牛马17 分钟前
【Uni-App+SSM+MP 宠物实战】Day4:Uni-App 项目初始化
前端
J_Asia18 分钟前
如何exclude不必要的so文件?
前端
一鹿有你们~20 分钟前
面试题-前端如何解决跨域
前端·javascript·跨域
文心快码BaiduComate24 分钟前
文心快码升级至3.5S版本,强化多智能体自协同能力
前端·后端·程序员