我成功地创建和关闭了webkit通知,如下所示:
notification = window.webkitNotifications.createNotification('foo.png', 'bar', 'baz')
notification.show()
setTimeout ->
notification.cancel()
, 3000
但是,如果用户在这三秒钟内关闭或刷新页面,则通知不会关闭,并且通知将保留在桌面上,直到手动关闭为止。
在这种情况下,有没有办法可靠地解雇他们?
使用 window.onunload 或 window.onbeforeunload 处理程序在页面关闭时清除干扰。 但是,这不会保留三秒钟的延迟,因为通知将在页面关闭时立即关闭。
另一种选择(保留三秒延迟)是使用 createHTMLNotification(url)
从 HTML 页面创建通知。 通过在通知 HTML 文档中包含类似 setTimeout(window.close, 3000)
的脚本,使通知页面自行关闭。 在这种情况下,显然,您不需要在主页中进行setTimeout
调用,因为它已经包含在通知中。