【问题标题】:node-webkit window menu not showing upnode-webkit 窗口菜单未显示
【发布时间】:2025-12-31 02:50:11
【问题描述】:

我在 node-webkit 中有以下文件,但没有显示窗口菜单。我确实收到了那里的警报,因此它正在运行代码。我正在使用win 7。有什么想法吗?

<!DOCTYPE html>
<html>
  <head>
    <title>Hello World!</title>
  </head>
  <body>
    <h1>Hello World!</h1>
    We are using node.js <script>document.write(process.version)</script>.

    <script>
    var nw = require('nw.gui');

    var windowMenu = new nw.Menu({ 
        type: 'menubar' 
    });

    nw.Window.get().menu = windowMenu;

    var helpMenu = new nw.Menu();
    windowMenu.append(new nw.MenuItem({
        label: 'Help',
        submenu: helpMenu
    }));

    alert("test 2");
</script>
  </body>
</html>

【问题讨论】:

    标签: node-webkit


    【解决方案1】:

    在您将菜单添加到当前窗口时 (nw.Window.get().menu = windowMenu;) ... 菜单为空(空白)。将此行移到添加菜单项的代码下方——例如,将此行放在当前代码具有“警报”的位置——菜单将非空(且可见)。

    【讨论】:

    • 啊命令!那讲得通。我必须回到我正在观看的 youtube 视频才能得到这个,因为我和他一样拥有这个。
    • youtube.com/watch?v=ecc0JopiZe4 他不会照你说的做,这对他有效,但对我无效。奇怪。
    • 如您所述,去年的 youtube 视频显示了您的原始代码。在我的 Windows 7 系统上,youtube 代码不起作用,即使对于旧版本的 NW 也是如此。该文档指出,MAC 上的菜单栏实现存在许多差异——我怀疑您已经发现了一个未记录的依赖于操作系统的差异。 (我相信 youtube 编码器在 MAC 上)。
    最近更新 更多