Разработка расширения Chrome: автоматическое закрытие окна уведомлений

Сделав что-то, я запускаю этот код:

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

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

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

Спасибо! р

5 ответов

Решение

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

var notification = webkitNotifications.createNotification('images/icon-48x48.png',"This is       Title","Biswarup Adhikari Notification");
notification.show();
setTimeout(function(){
notification.cancel();
},2000);

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

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

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

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 очистить этот идентификатор

//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);
        });
     }

   }
Другие вопросы по тегам