首页 > node-webkit如何显示WebQQ的桌面提醒

node-webkit如何显示WebQQ的桌面提醒

0x00 背景

  1. WebQQ出了一个新的版本叫SmartQQ的,我觉得还挺适合用在Linux环境下的;
  2. 于是就有了打算用node-webkit来运行它;
  3. github地址: https://github.com/hillwah/nw-SmartQQ

0x01 目的

  1. 我已经用node-webkit把它给包起来,看起来好不错;
  2. 不过默认在Chrome下是有消息提醒的,就是Chrome桌面通知功能;
  3. 但是在node-webkit下就没有了桌面通知,因为我知道node-webkit也是用的Chrome,所以想知道如何才能实现这个桌面通知。希望有人能帮忙,非常感谢!

(我是菜鸟一个,希望各位大牛能不吝赐教,谢谢)

0x02 index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Smart QQ</title>
  </head>
  <body>
    <script>
    var isShowWindow = true;
    var gui = require('nw.gui');
    var win = gui.Window.get();
    var tray = new gui.Tray({title:'Smart QQ', icon:'app/img/alloylogo.png'});

    //Close window to hide;
    win.on('close', function() {
        this.hide();
        isShowWindow = false;
    });

    tray.tooltip = 'Smart QQ';

    //Menu
    var menu = new gui.Menu();
    menu.append(new gui.MenuItem({
        type: 'normal',
        label: 'Show/Hide',
        click: function() {
            if(isShowWindow) {
                win.hide();
                isShowWindow = false;
            } else {
                win.show();
                isShowWindow = true;
            }
        }
    }));
    menu.append(new gui.MenuItem({
        type: 'normal',
        label: 'Quit',
        click: function() {
            gui.App.quit();
        }
    }))
    tray.menu = menu;

    //Click to show/hide;
    tray.on('click',
        function() {
            if(isShowWindow) {
                win.hide();
                isShowWindow = false;
            } else {
                win.show();
                isShowWindow = true;
            }
        });

    //Load Web QQ;
    location='http://w.qq.com/';
    </script>
  </body>
</html>

0x03 package.json

{
    "name": "Smart QQ",
    "main": "app/index.html",
    "version": "0.1",
    "window": {
        "icon": "app/img/alloylogo.png",
        "toolbar": true,
        "width": 300,
        "height": 500
    }
}

0x04 目前的效果


0x05 问题补充

  1. 发现了一个问题,就是即使在Chrome中,如果当前tab就是QQ的话,那是不会有桌面提醒的,那node-webkit没有tab自然就没有提醒,所以。。怎样才能让QQ在当前tab也有提醒呢?

直接用 Notification 不行么?另外还搜到了这个项目,虽然是两年前的了不过权当参考一下吧。

【热门文章】
【热门文章】