Chrome extension development: auto close the notif

2019-02-09 17:05发布

After doing something I run this code:

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

which of course pops up a notification into the users screen.

It there anyway to time this notification so that it auto-closes in X amount of seconds?

Thanks! R

5条回答
你好瞎i
2楼-- · 2019-02-09 17:19

You can use notification.cancel();

查看更多
爱情/是我丢掉的垃圾
3楼-- · 2019-02-09 17:23
//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);
        });
     }

   }
查看更多
\"骚年 ilove
4楼-- · 2019-02-09 17:24

You'll be able to call window.close() from inside the notification's HTML page. That will close the notification.

To close at a certain time, calling something like setTimeout( function () { window.close(); }, timeInMicroseconds); should be effective.

查看更多
Summer. ? 凉城
5楼-- · 2019-02-09 17:33
var notification = webkitNotifications.createNotification('images/icon-48x48.png',"This is       Title","Biswarup Adhikari Notification");
notification.show();
setTimeout(function(){
notification.cancel();
},2000);

Chrome notification will close automatically after 2000 milli sec or 2 sec.

查看更多
在下西门庆
6楼-- · 2019-02-09 17:38
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);
}

}

ok, when i created notification remeber the id notificationId and settimeout clear this id

查看更多
登录 后发表回答