node-webkit如何显示WebQQ的桌面提醒
0x00 背景
- WebQQ出了一个新的版本叫SmartQQ的,我觉得还挺适合用在Linux环境下的;
- 于是就有了打算用node-webkit来运行它;
- github地址: https://github.com/hillwah/nw-SmartQQ
0x01 目的
- 我已经用node-webkit把它给包起来,看起来好不错;
- 不过默认在Chrome下是有消息提醒的,就是Chrome桌面通知功能;
- 但是在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 问题补充
- 发现了一个问题,就是即使在Chrome中,如果当前tab就是QQ的话,那是不会有桌面提醒的,那node-webkit没有tab自然就没有提醒,所以。。怎样才能让QQ在当前tab也有提醒呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
直接用 Notification 不行么?另外还搜到了这个项目,虽然是两年前的了不过权当参考一下吧。