Chrome Extension Desktop Notification Works On Sleep

你离开我真会死。 提交于 2020-01-02 05:13:08

问题


I made a Desktop Notification it shows a notification every 1 minute. After 10 second, closes itself.

I gone for a lunch , then computer goes to sleep. When i was back i wake my computer then lots of notification starts.

How can i handle that problem? I want if computer sleeps it shouldnt show notification. How can i control it?

Background.js

function show() {

   var notification = webkitNotifications.createHTMLNotification(
  'notification.html'  
);

  notification.show();
}

// Conditionally initialize the options.
if (!localStorage.isInitialized) {
  localStorage.isActivated = true;   // The display activation.
  localStorage.frequency = 1;        // The display frequency, in minutes.
  localStorage.isInitialized = true; // The option initialization.
}


if (window.webkitNotifications) {
  // While activated, show notifications at the display frequency.

  if (JSON.parse(localStorage.isActivated)) { show(); }

  var interval = 0; // The display interval, in minutes.


  setInterval(function() {
  interval++;     
  chrome.idle.queryState(15, state); 
  if(localStorage.frequency <= interval && state=="active")
     { show(); 
       interval = 0;
     }

  }, 60000);

}

回答1:


Use Chrome.idle API to detect whether browser is active or not and trigger your notifications. I guess you can use a configurable interval to query state and hold off your notifications.

Reference

  • Chrome.idle

EDIT 1

The state in your code is a callback function, not a string!, So change this code

setInterval(function () {
    chrome.idle.queryState(15, state);
    if (localStorage.frequency <= interval && state == "active") {
        show();
        interval = 0;
    }

}, 60000);

to

setInterval(function () {
    chrome.idle.queryState(15, function (state) {
        if (localStorage.frequency <= interval && state == "active") {
            show();
            interval = 0;
        }

    });
}, 60000);


来源:https://stackoverflow.com/questions/14458019/chrome-extension-desktop-notification-works-on-sleep

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!