Разработка расширения 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 ответов
Решение
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);
});
}
}