谷歌Chrome扩展计时器重置

时间:2017-12-19 08:38:52

标签: javascript json google-chrome-extension timer reset

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

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

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

我知道我做错了什么。

这是我第一次尝试制作谷歌浏览器扩展程序,但我在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 个答案:

答案 0 :(得分:0)

在prod中你不能设置闹钟< 1分钟,在新版本的chrome中,您无法在开发人员模式下设置此警报。

  

为了减轻用户计算机的负担,Chrome会每隔1分钟将警报限制为最多一次,但可能会将警报延迟一次。也就是说,将delayInMinutes或periodInMinutes设置为小于1将不会被接受,并将导致警告。在"现在"之后可以设置为不到1分钟没有警告,但实际上不会导致警报至少1分钟。

chrome.alarms