Pastalablog in はてな

時代はブログ! 日記もあるよ→http://pastak-diary.hatenadiary.com

WebKitのAPIでデスクトップアラートが出せるっぽいのを試してみた

WebkitのAPI使えばWebサービスからデスクトップにアラートが出せるだと!? | IDEA*IDEA
これで知ったので試してみたので、メモ代わりに書いておきます。
デモとか動作サンプルは上記サイトのリンク先を見ると良いと思います。

アラートの表示を認証する

if(window.webkitNotifications){
		if(window.webkitNotifications.checkPermission()!==0){
			window.webkitNotifications.requestPermission();
		}
}

流れ的には

  1. WebKitでかつ、このAPIを持っているかをチェック
  2. window.webkitNotifications.checkPermission()で認証済みかをチェック*1
  3. window.webkitNotifications.requestPermission()で認証を要求。

ちなみに

window.webkitNotifications.requestPermission(function(){
ごにょごにょ
})

みたいな感じにも書ける。

アラートを出す

window.webkitNotifications.createNotification(
img, //画像(URL)
title, //タイトル
text //テキスト
).show()

こんな感じ。
show()で表示させる。

注意点

function load(){
	if(window.webkitNotifications){
			if(window.webkitNotifications.checkPermission()!==0){
				window.webkitNotifications.requestPermission();
			}
	}
}

とかして、

<body onload="load()">

ってしても、window.webkitNotifications.requestPermission()はクリックイベントからしか呼び出せないらしいので、実行されません。注意。
thanks to http://twitter.com/tyage/status/13220482680

*1:認証済みなら0、未認証なら1が返ってくる