如何加载子浏览器窗口?

问题描述 投票:0回答:1

一直在搜索,但似乎找不到任何相关信息,我正在 vue 和 Quasar 的帮助下构建一个 Electron 应用程序。 C

显然,在主进程中创建了一个新的浏览器窗口,但是我应该将 browserwindow.loadURL() 指向哪里才能使其在开发和生产中都工作?我应该使用“process.env.APP_URL”吗?任何使用它的尝试都只需在子窗口中加载我的主窗口。

我在 /src 文件夹中有第二个Window .html/.js 文件。

使用 process.env.APP_URL 尝试了一些操作,例如 process.env.APP_URL + "/secondWindow" 或 process.env.APP_URL + "/#/secondWindow" 但它们都不起作用,最多只能让我进入主窗口开发者

electron quasar-framework quasar
1个回答
0
投票

遭受同样的问题并尝试解决它几乎一天,我想我终于找到了解决方法。

首先,将“/”路由到“Route.vue”

routes.js:

  {
    path: '/',
    component: () => import('layouts/Route.vue'),
  },

其次,像这样制作“Route.vue”

<template></template>

<script setup>
import { onBeforeMount } from 'vue'
import { useRouter } from 'vue-router'
const router = useRouter()

function searchParam(key) {
  return new URLSearchParams(location.search).get(key)
}

onBeforeMount(() => {
  const param = searchParam('page')
  if (param) {
    router.push({ path: `/${param}` })
  }
})
</script>

它的作用基本上是从查询字符串参数和路由中获取页面信息。

最后,在 electro-main.js 中, 你这样调用 URL

  mainWindow.loadURL(process.env.APP_URL + '?page=your_page_name')

这对开发和生产都适用。

© www.soinside.com 2019 - 2024. All rights reserved.