google chrome 延长定时器重置

google chrome extension timer reset

我想构建一个 Google Chrome 扩展,用于检查鼠标移动。

如果鼠标直到 5 分钟才移动(在代码中我设置了 0.1 和 0.2 因为我不想在测试时间总是等待很多),扩展打开其他站点(代码只显示一个警告框)。

我的问题是,如果鼠标在移动,我无法重新设置闹钟。一切正常,只是我可以重新启动或重新设置我创建的警报。

我知道我做错了什么。

这是我第一次尝试 Google Chrome 扩展,但我编程到现在 php、vb.net、html , vbscript.

但是在 Google Chrome Ver. 下重新设置闹钟不需要工作。 63.(即使我也在旧版本和铬下尝试过,但它没有用)。

感谢您的支持^^

代码从这里开始:

MANIFEST.JSON

{
  "name": "Chrome-extension",
  "version": "1.0",
  "manifest_version": 2,

  "permissions": [
     "alarms"   
   ],
  "background": {
  "scripts": ["background.js"]
  },
  "content_scripts": [
      {
        "matches": ["http://www.google.hu/*"],
        "js": ["jquery1.7.2.js", "detectclicks.js"]
      }
   ],
  "description": "Chrome-extension",
  "browser_action": {
      "default_icon": "icon.png"
      "default_popup": "popup.html"
     } 
   }

DETECTCLICKS.JS(鼠标移动时,重新设置闹钟。删除并重新创建)

$('html').on('mousemove', '*',function(event) {
    chrome.alarms.clearAll();
    chrome.alarms.create("myAlarm", {delayInMinutes: 0.1, 
    periodInMinutes: 0.2});
    alert("OK");
});

BACKGROUND.JS(如果闹钟启动,显示一条短信-只是因为检查)

chrome.alarms.onAlarm.addListener(function(alarm) {
    alert("Beep");
});

POPUP.JS(打开和关闭带有警报启动和停止的分机)

var alarmClock = {

    onHandler : function(e) {
        chrome.alarms.create("myAlarm", {
            delayInMinutes: 0.1, 
            periodInMinutes: 0.2
        });
        window.close();
    },

    offHandler : function(e) {
        chrome.alarms.clear("myAlarm");
        window.close();
    },

    setup: function() {
        var a = document.getElementById('alarmOn');
        a.addEventListener('click', alarmClock.onHandler);
        var a = document.getElementById('alarmOff');
        a.addEventListener('click', alarmClock.offHandler);
    }
};

document.addEventListener('DOMContentLoaded', function() {
    alarmClock.setup();
});

在产品中你不能设置小于 1 分钟的闹钟,在新版本的 chrome 中你不能在开发者模式下设置这个闹钟。

In order to reduce the load on the user's machine, Chrome limits alarms to at most once every 1 minute but may delay them an arbitrary amount more. That is, setting delayInMinutes or periodInMinutes to less than 1 will not be honored and will cause a warning. when can be set to less than 1 minute after "now" without warning but won't actually cause the alarm to fire for at least 1 minute.

chrome.alarms