4

次のように、webkit 通知を正常に作成および破棄しています。

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

ただし、この 3 秒間にユーザーがページを閉じたり更新したりしても通知は消えず、手動で閉じるまでデスクトップに表示されたままになります。

このような状況でそれらを確実に却下する方法はありますか?

4

1 に答える 1

4

window.onunloadまたはwindow.onbeforeunloadハンドラーを使用して、ページが閉じられたときに通知をクリアします。ただし、ページが閉じられるとすぐに通知が閉じられるため、これは 3 秒の遅延を保持しません。

もう 1 つのオプション ( 3 秒の遅延を維持する)、を使用して HTML ページから通知を作成することcreateHTMLNotification(url)です。通知 HTML ドキュメント内のようなスクリプトを含めて、通知ページを閉じます。setTimeout(window.close, 3000)この場合、明らかに、setTimeoutメイン ページでの呼び出しは必要ありません。呼び出しは既に通知に含まれているからです。

于 2012-06-29T22:14:27.257 に答える