繁体   English   中英

每分钟在Google Chrome扩展程序中运行一项功能

[英]Running a function every minute in a Google Chrome extension

因此,我正在尝试制作一个Google Chrome扩展程序,该扩展程序将每分钟运行一次功能并更新图标颜色。 即使遵循了多个教程,我似乎也无法运行该脚本。.目前,这就是我所拥有的。

Manifest.json

{
  "manifest_version": 2,

  "name": "Icon changer",
  "description": "changes icon.",
  "version": "1.0",

  "browser_action": {
    "default_icon": "green.png",
    "default_popup": "popup.html",
    "background-page": "checker.html"
  },
  "permissions": [
    "https://google.com/"
  ]
}

checker.html

<!doctype html>
<html>
    <script src="check.js"></script>
    <body onload="startRequest()">
        sample
    </body>
</html>

check.js

function updateBadge() {
    chrome.browserAction.setIcon({path:"red.png"});
}

var pollInterval = 1000 * 60; // 1 minute, in milliseconds
var timerId;

function startRequest() {
    updateBadge();
    timerId = window.setTimeout(startRequest, pollInterval);
}

function stopRequest() {
    window.clearTimeout(timerId);
}

我只想更改一次即可,知道它可以工作,但图标没有改变。 一旦改变,我就可以做我想做的事。

编辑:我刚刚测试过check.js,当单击按钮时它运行良好,只是chacker.html页面没有启动它。

如果我没记错的话,在chrome扩展程序中,不允许在html中插入内联脚本。

去掉:

<body onload="startRequest()">
        sample
    </body>

并看到这个js:

(function() {
  var updateBadge = function() {
      chrome.browserAction.setIcon({path:"red.png"});
  }

  var stopRequest = function() {
      window.clearTimeout(timerId);
  } 

  var pollInterval = 1000 * 60; // 1 minute, in milliseconds
  var timerId;

  updateBadge();
  timerId = window.setTimeout(startRequest, pollInterval);

})()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM