使用菜单单击打开一个新窗口以显示html文件 - Electron

lps*_*wan 4 javascript node.js electron

我是Electron和JavaScript的新手.我正在构建一个电子应用程序.我知道如何通过单击本机菜单中的项目(通过研究文档)在浏览器中打开URL,但我需要使用Electron的本机菜单单击在另一个Electron窗口中打开一个html文件.如果我有如下所示的菜单结构,我该如何实现?请帮忙.

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

const nativeMenus = [
    {
        label: 'About',
        submenu: [
            {
                label: 'About',
                click () {--- code to open about.html file in another electron window}
            }
        ]

    }
]

const menu = Menu.buildFromTemplate(nativeMenus);
Menu.setApplicationMenu(menu);
Run Code Online (Sandbox Code Playgroud)

小智 11

如果它全部在main.js中,只需创建一个函数来创建一个新窗口,然后在菜单项上单击调用它.

const { Menu } = require('electron')
const ipc = require('electron').ipcRenderer

const nativeMenus = [
  {
    label: 'About',
    submenu: [
      {
        label: 'About',
        click() {
          openAboutWindow()
        }
      }
    ]
  }
]

const menu = Menu.buildFromTemplate(nativeMenus)
Menu.setApplicationMenu(menu)

var newWindow = null

function openAboutWindow() {
  if (newWindow) {
    newWindow.focus()
    return
  }

  newWindow = new BrowserWindow({
    height: 185,
    resizable: false,
    width: 270,
    title: '',
    minimizable: false,
    fullscreenable: false
  })

  newWindow.loadURL('file://' + __dirname + '/views/about.html')

  newWindow.on('closed', function() {
    newWindow = null
  })
}
Run Code Online (Sandbox Code Playgroud)

如果这对您有用,请告诉我.