Electron创建一个窗口,会默认具备系统菜单,例如:
默认提供了文件、编辑、视图、窗口和帮助五个主菜单以及主菜单的子菜单,实际上这些默认的菜单,往往需要我们重新定义。
我们在创建窗口的时候,设置frame为false,就是隐藏默认的标题栏和菜单。
如果只想隐藏菜单呢,就是通过设置autoHideMenuBar:true,但是在用户打开窗口后,按一下Alt键,默认菜单就恢复。在这样的情况下,我们可以自定义一个系统菜单来覆盖electron默认的菜单。效果如下图:
定义自己的菜单,需要使用electron内置的Menu模块,通过Menu.buildFromTemplate方法来创建菜单对象,通过Menu.setApplicationMenu方法来给窗口设置系统菜单。
所设置的菜单对象的label属性,表示是显示的文本,可以通过设置click属性,给对应的菜单添加点击事件。还有一个属性是role,属性可选值为paste、undo、redo、cut、copy、delete、selectAll、reload、minimize、close、quit等等。但是设置role后,click属性就失效了。
在web应用中,我们可以在页面上设置右键