首页 > 解决方案 > 无法将保存的页面添加到菜单栏 - 使用电子的包装应用程序

问题描述

我最近在 geeksforgeeks 上关注了一个电子项目:https ://www.geeksforgeeks.org/create-a-geeksforgeeks-wrapper-application-using-electron/

这是它在 Github 上的代码https://github.com/sayantanm19/geeksforgeeks-desktop/blob/master/index.js

功能appenItemToMenu不起作用,这意味着我可以离线保存页面,但菜单栏上的savedpagelist总是空的......

你能在你的机器上试一试并指出错误吗?

function appendItemToMenu(filename) { 
curr_menu = Menu.getApplicationMenu() 
        .getMenuItemById("saved").submenu 

curr_menu.append( 
    new MenuItem({ 
    label: path.basename(filename, '.html'), 
    click() { 
        console.log('Saved page opened') 
        win.loadFile(savedFolder + path.basename(filename)) 
    } 
    })) 
} 

标签: electronwrapper

解决方案


function appendItemToMenu(filename) {
  const newMenu = Menu.getApplicationMenu()
  curr_menu = newMenu.getMenuItemById('saved').submenu
  curr_menu.append(
    new MenuItem({
      label: path.basename(filename, '.html'),
      click() {
        console.log('Saved page opened')
        win.loadFile(savedFolder + path.basename(filename))
      }
    }))
  Menu.setApplicationMenu(newMenu)
}

更改后更新应用程序菜单。不允许任何动态更改或附加项目。


推荐阅读