一、 父窗口與彈出框交互:傳/回參數。html
二、 消息框的觸發方式:時間/點擊。node
三、 基本流程:彈出下一個任務,是否繼續:Y/N,默認爲Y。jquery
四、 實例git
Demo網址:github
http://alloyteam.github.io/AlloyTimer/web
改成消息彈出框的形式來表示chrome
https://github.com/rogerwang/node-webkitjson
提供多個版本windows
0.9.2: (Feb 20, 2014, based off of Node v0.11.9, Chrome 32.0.1700.107) api
v0.10.0-rc2: (Jul 18, 2014, based off of Node v0.11.13, Chromium 35.0.1916.113)
0.8.6: (Apr 18, 2014, based off of Node v0.10.22, Chrome 30.0.1599.66)
API說明:
https://github.com/rogerwang/node-webkit/wiki
node-webkit框架不支持window.notification,可是webkit內核是支持window.notification。爲何會不支持呢?
1、目前主流的web應用(QQ)的消息提醒都是由Window.webkitNotification實現的。
2、chrome從35版本(2014.5月末宣佈)後不支持Window.webkitNotification
Node-webkit version |
0.8.6 |
0.9.2(NercOA) |
0.10.0 |
Node.js version |
0.10.22 |
0.11.9 |
0.11.13pre |
Browser version |
Chrome30.0.1599.66 |
Chromium32.0.1700.17 |
Chromium35.0.1916.113 |
Support webkitNotification |
√ |
√ |
Х |
Support notification |
√ |
√ |
√ |
窗口應用的API
1、Browser compatibility(兼容性)
Feature |
Chrome |
Firefox (Gecko) |
Internet Explorer |
Opera |
Safari |
Basic support |
5 webkit (see notes) 22 |
4.0 moz (see notes) 22 |
Not supported |
? |
6 (see notes) |
2、Chrome notes
1、Chrome自帶的APP應用:Eye Rest Notification
2、Chrome-app-samples/rich-notification
源碼:
https://github.com/GoogleChrome/chrome-app-samples/tree/master/rich-notifications
文檔:
https://developer.chrome.com/apps/notifications
彈出窗口的觸發事件
nw-desktop-notifications-rest
nw-desktop-notifications-work
彈出框定義
alloytimer
chrome api 根是爲了node-webkit更好地調用現存的chromium app,保證明現常有的chrom apis功能,起碼不會拋出錯誤。
Node Webkit Notification
node-webkit 0.9.1不支持webkitNotifications,因此chrome API根經過改寫webkitNotification API 包裝了nw-desktop-notification 庫。
已經調通,父窗口彈出子窗口,子窗口帶有邊框。
A、 最新版本的node-webkit不能夠運行該程序
B、 nercOA1.5.3版本能夠運行該程序
源碼:
https://github.com/jamesmortensen/node-webkit-chrome-api-stubs
已經調通,能夠在右上方彈出一個對話框。
注:須要修改index.html和nw-desktop-notification.html的連接:
A、下載jquery.min.js文件
B、將修改成script src="./jquery.min.js"></script>
其是node-webkit-chrome-api-stubs-master消息推送的改進版本。
基於窗口的消息推送,有窗口邊框,將窗口邊框去除了。當最小化後,程序就關閉了;消息間的傳遞效果很差(贇鵬)。
源碼:
https://github.com/robrighter/nw-desktop-notifications
特色:不穩定,修改幾回代碼就會出現沒法彈出對話框。
關閉父窗口後,消息框不會自動消息(關閉父窗口時,消息框也須要關閉)
程序的流程:
Index.html—nw-desktop-notifications.js--nw-desktop-notification.html
未調試成功
須要使用到socket.io
基於windows notification內核的消息推送demo,在右側方彈出消息框,界面的效果好。能夠打開頁面,可是不能彈出消息。
效果展現頁面:
http://azproduction.ru/jquery.notification/
源碼:
https://github.com/azproduction/jquery.notification
討論問題:
一、 node-webkit的消息推送有大量的依賴性
Take at notifications for node-webkit with a shitload of dependencies (Require.js, chaplin, TWEEN.js and so on).. sorry for that.
http://www.snip2code.com/Snippet/1525/Take-at-notifications-for-node-webkit-wi/
github的源碼:
https://gist.github.com/miklschmidt/5896306
2、Node-webkit:子窗口調用父窗口
https://github.com/rogerwang/node-webkit/issues/456
You may also be interested in our demos repository and the List of apps and companies using node-webkit.
Quick Start
Create index.html:
<!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>.
</body>
</html>
Create package.json:
{
"name": "nw-demo",
"main": "index.html"
}
Compress index.html and package.json into a zip archive called app.nw:
$ zip app.nw index.html package.json
This should create a structure like this:
app.nw
|-- package.json
`-- index.html
Download the prebuilt binary for your platform and use it to open the app.nw file:
$ ./nw app.nw
Note: on Windows, you can drag the app.nw to nw.exe to open it.