如何为node-webkit创建加载屏幕?

时间:2016-01-12 04:48:51

标签: javascript node-webkit nw.js

我创建了一个node-webkit桌面应用,但点击.exe后需要很长时间才能加载。有没有办法显示加载屏幕。我正在寻找一个解决方案,但我没有得到一个。

1 个答案:

答案 0 :(得分:1)

要在加载主应用程序屏幕时显示加载屏幕或启动画面,请考虑以下步骤:

  1. 启动应用程序并将主窗口设置为隐藏。
  2. 由于您的主窗口已隐藏,请打开另一个窗口,该窗口将充当启动画面或加载屏幕。
  3. 当您的主应用程序完全加载并准备就绪后,关闭启动画面窗口并显示隐藏的主窗口。
  4. 第1步要隐藏主窗口启动应用程序:

    manifest

    中设置Window属性的show: false
    {
      "main": "index.html",
      "name": "nw-demo",
      "description": "demo app of node-webkit",
      "version": "0.1.0",
      "keywords": [ "demo", "node-webkit" ],
      "window": {
        "title": "node-webkit demo",
        "icon": "link.png",
        "show": false,
        "toolbar": false,
        "width": 800,
        "height": 500,
        "position": "mouse",
        "min_width": 400,
        "min_height": 200
      }
    }
    
    当您的应用程序启动时,

    "show": false属性不会显示主窗口。

    第2步打开加载或启动窗口:

    在index.html中编写一个脚本,打开另一个窗口,作为启动画面。

    var guiWin = require('nw.gui');   
    this.splashScreen = guiWin.open('path/to/splash.html', {
                    "transparent": true,
                    'frame': false,
                    "icon": "path/to/icon.png",
                    'position': 'center',
                    'always-on-top': true,
                    "width": 475,
                    "height": 250,
                    "resizable": false,
                    "toolbar": false,
                    "fullscreen": false
                });
    

    第3步。当应用程序准备就绪时关闭启动画面并显示主窗口:

    当您的主应用程序完全加载时,您可以通过调用此方法关闭启动窗口并显示主窗口。

    function hideSplash() {
        this._splashScreen.close(true);
        guiWin.get().show();            // get the current window and show
        this.splashScreen = null;            
    }