【问题标题】:Why i cannot quit my node-webkit app为什么我无法退出我的 node-webkit 应用程序
【发布时间】:2014-05-04 22:35:32
【问题描述】:

我正在构建一个 node-webkit 应用程序我已经建立了一个退出链接

<span onClick="func App.quit()" title="Close">X</span>

但是当我点击它时它说

Uncaught ReferenceError: require is not defined

我在这里做错了什么?

我不明白为什么会出现这个错误

我确实添加了

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

我必须在我的 packjage.js 中说我打开了一个 url,所以所有的 javascripts 都是从那个 url 加载的那些 javascript 不是我设备上的本地

【问题讨论】:

    标签: node-webkit


    【解决方案1】:
    1. 退出 API 是 gui.App.quit() 而不是 gui.quit()
    2. Node-Webkit 有 2 个 JS 上下文,所以如果你使用 标签从远程站点加载 JS,它将在浏览器的 JS 上下文中运行,正如我们所知,require 在 Node.js 上下文中工作。阅读this page 了解更多信息。

    【讨论】:

    • 我用 window.close 修复了它现在工作正常但是当我做 window.minimize();它给了我错误:Uncaught TypeError: Object [object global] has no method 'minimize' 知道为什么吗?
    • 凯是对的。注意,node-webkit中有2个window,第一个是浏览器的window对象,第二个是node-webkit的原生window对象。阅读Native UI API和@987654323 @
    【解决方案2】:

    正如前面提到的 tinyproxy,使用require('nw.gui').App 来管理应用程序生命周期。要最小化窗口和其他窗口操作以及侦听window 相关事件,请使用require('nw.gui').Window.get(),如下所述:node-webkit Window。例如,最小化当前窗口:

    var gui = require('nw.gui');
    var win = gui.Window.get();
    win.minimize();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-11
      • 2013-10-09
      • 1970-01-01
      相关资源
      最近更新 更多