Разработка расширения Chrome: автоматическое закрытие окна уведомлений - PullRequest
7 голосов
/ 20 апреля 2011

После выполнения чего-либо я запускаю этот код:

var notification = webkitNotifications.createNotification(
   'icon.png',  // icon url - can be relative
  'Done!',  // notification title
  'Just updated your list!'  // notification body text
   );
  notification.show();

, что, конечно, выскакивает уведомление на экран пользователя.

Есть ли время для уведомления, чтобы оно автоматически закрывалось через X секунд?

Спасибо! R

Ответы [ 5 ]

16 голосов
/ 13 мая 2011

Вы можете использовать notification.cancel();

9 голосов
/ 20 августа 2012
var notification = webkitNotifications.createNotification('images/icon-48x48.png',"This is       Title","Biswarup Adhikari Notification");
notification.show();
setTimeout(function(){
notification.cancel();
},2000);

Уведомление Chrome закроется автоматически через 2000 миллисекунд или 2 секунды.

3 голосов
/ 20 апреля 2011

Вы сможете звонить window.close() изнутри HTML-страницы уведомления.Это закроет уведомление.

Чтобы закрыть в определенное время, вызов что-то вроде setTimeout( function () { window.close(); }, timeInMicroseconds); должно быть эффективным.

0 голосов
/ 11 февраля 2017
//Use requireInternaction and set it to true for notification to not to auto-hide.

function showNotification() {
    var options = {
        body: 'The Subtitles will Go Here',
        requireInteraction: true
    };

    if (window.Notification && Notification.permission !== "denied") {
       Notification.requestPermission(function (status) {  // status is "granted", if accepted by user

var n = new Notification('Title', options);
        });
     }

   }
0 голосов
/ 10 декабря 2015
function show(title, message, icon) {
try {
    icon = icon || 'src/img/icons/icon48.png';
    var self = this;
    var isClosed = false;
    var notificationId = "posting_" + Math.random();

    chrome.notifications.create(notificationId, {
        type: "basic",
        title: title + "!",
        message: message,
        iconUrl: icon
    }, function (nId) {
    });

    setTimeout(function () {
        if (!isClosed)
            chrome.notifications.clear(notificationId, function (wasCleared) {
            });
    }, 3000);
} catch (e) {
    alert(e.message);
}

}

хорошо, когда я создал уведомление, запомните идентификатор notificationId и settimeout очистите этот идентификатор

...