Node-Webkit 菜单栏在 createMacBuiltin 列表中添加新项目
Node-Webkit Menubar Add New Item Inside createMacBuiltin List
我正在为 node-webkit mac 应用制作菜单栏。
我正在尝试将 "Replace" 菜单项附加到 second/root 菜单(编辑 > 撤消、重做等)。
我知道如何附加到 .createMacBuiltin()
创建的默认菜单栏,但它只附加到该列表的顶部。我想在 "Select All" 之后追加 "Replace"。无论如何都可以将它附加到该列表的后面吗?
// Create menu container
var Menu = new gui.Menu({
type: 'menubar'
});
//initialize default mac menu
Menu.createMacBuiltin("Hello World");
// Get the root menu from the default mac menu
var editMenu = Menu.items[1].submenu;
var windowMenu = Menu.items[2].submenu;
// Append new item to root menu
editMenu.insert(
new gui.MenuItem({
type: "normal",
label: 'Replace',
key: "f",
modifiers: "cmd+alt",
click : function () {
$("[data-action=replace]").trigger("click");
}
})
);
windowMenu.insert(
new gui.MenuItem({
type: "normal",
label: 'Toggle Fullscreen',
key: "F",
modifiers: "cmd",
click : function () {
win.toggleFullscreen();
}
})
);
windowMenu.insert(
new gui.MenuItem({
type: "normal",
label: 'Reload App',
key: "r",
modifiers: "shift+cmd",
click : function () {
location.reload(true);
}
})
);
// Append Menu to Window
win.menu = Menu;
看起来 editMenu.insert
会将菜单项添加到顶部,但 editMenu.append
会将其添加到底部。 ()
我还没有找到删除 Dictation
或 Emoji & Symbols
的方法,但可以通过以下方法解决我的问题。
// Append new item to root menu
editMenu.append(
new gui.MenuItem({
type: "normal",
label: 'Replace',
key: "f",
modifiers: "cmd+alt",
click : function () {
$("[data-action=replace]").trigger("click");
}
})
);
我能够使用以下方法成功删除 "About MyApp"...
rootMenu.removeAt(1);
我正在为 node-webkit mac 应用制作菜单栏。
我正在尝试将 "Replace" 菜单项附加到 second/root 菜单(编辑 > 撤消、重做等)。
我知道如何附加到 .createMacBuiltin()
创建的默认菜单栏,但它只附加到该列表的顶部。我想在 "Select All" 之后追加 "Replace"。无论如何都可以将它附加到该列表的后面吗?
// Create menu container
var Menu = new gui.Menu({
type: 'menubar'
});
//initialize default mac menu
Menu.createMacBuiltin("Hello World");
// Get the root menu from the default mac menu
var editMenu = Menu.items[1].submenu;
var windowMenu = Menu.items[2].submenu;
// Append new item to root menu
editMenu.insert(
new gui.MenuItem({
type: "normal",
label: 'Replace',
key: "f",
modifiers: "cmd+alt",
click : function () {
$("[data-action=replace]").trigger("click");
}
})
);
windowMenu.insert(
new gui.MenuItem({
type: "normal",
label: 'Toggle Fullscreen',
key: "F",
modifiers: "cmd",
click : function () {
win.toggleFullscreen();
}
})
);
windowMenu.insert(
new gui.MenuItem({
type: "normal",
label: 'Reload App',
key: "r",
modifiers: "shift+cmd",
click : function () {
location.reload(true);
}
})
);
// Append Menu to Window
win.menu = Menu;
看起来 editMenu.insert
会将菜单项添加到顶部,但 editMenu.append
会将其添加到底部。 ()
我还没有找到删除 Dictation
或 Emoji & Symbols
的方法,但可以通过以下方法解决我的问题。
// Append new item to root menu
editMenu.append(
new gui.MenuItem({
type: "normal",
label: 'Replace',
key: "f",
modifiers: "cmd+alt",
click : function () {
$("[data-action=replace]").trigger("click");
}
})
);
我能够使用以下方法成功删除 "About MyApp"...
rootMenu.removeAt(1);