0

プロジェクトの通知 API を使用して、各通知に一意のタグ (ID) があるブラウザー通知を表示していますが、close を呼び出さずに、タグ名で通知を閉じたり非表示にしたりする方法を見つけることができないようですこれは、元のページ以外のページで閉じられている可能性があるためです。このようなことは可能ですか?

4

3 に答える 3

2

私はこれを解決しましたが、私の解決策は奇妙に思えるので、より「通常の」アプローチに従う他の回答をまだ受け入れています。

基本的に、タグを使用して作成された新しい通知オブジェクトには、現在既に表示されている通知が既に同じタグを持っているため、元の通知は削除されます。したがって、同じタグで新しい通知オブジェクトを作成し、すぐにそれを削除することで、古い通知を「削除」できます。

通知を表示するためのリンク

<a href="/some/url" data-notification-id="1234">View this notification</a>

そして、jQuery

$('a[data-notification-id]').on('click', function(){
    var _this = $(this);
    var n = new Notification('Notification Title', {
        tag: _this.attr('data-notification-id')
    });
    setTimeout(n.close.bind(n), 0);
});
于 2015-06-18T16:22:35.737 に答える
2

通知を localStorage に保存し、取得して閉じることができます。

例えば

// on create
var n = new Notification('Notification Title', {
        tag: _this.attr('data-notification-id')
    });
window.localStorage.setItem('data-notification-id', n);

// then later
var n = window.localStorage.getItem('data-notification-id');
n.close();
于 2015-06-23T11:27:49.407 に答える