4

我成功地创建和关闭 webkit 通知,如下所示:

notification = window.webkitNotifications.createNotification('foo.png', 'bar', 'baz')
notification.show()
setTimeout ->
    notification.cancel()
, 3000

但是,如果用户在这三秒钟内关闭或刷新页面,通知不会被关闭,并且它们会一直停留在桌面上,直到手动关闭。

在这种情况下,有没有办法可靠地解雇他们?

4

1 回答 1

4

使用window.onunloadwindow.onbeforeunload处理程序在页面关闭时清除通知。但是,这不会保留三秒延迟,因为当页面关闭时通知将立即关闭。

另一种选择(确实保留三秒延迟)是使用createHTMLNotification(url). 通过在通知 HTML 文档中包含类似的脚本,让通知页面自行关闭。setTimeout(window.close, 3000)在这种情况下,很明显,您不需要setTimeout在主页中调用,因为它已经包含在通知中。

于 2012-06-29T22:14:27.257 回答