Chrome扩展程序定时重定向

时间:2011-06-05 17:56:57

标签: javascript google-chrome google-chrome-extension timed

我想要实现的是在后台运行Chrome扩展程序,每分钟都会重定向到google.com,然后一分钟后重定向到stackoverflow.com等等,直到点击图标为止通过扳手图标,其中大部分扩展名都是。

但是我只知道如何使用重定向页面 的 window.location.replace( “http://google.com”);

我还在学习如何开发chrome扩展,并为学习过程制作一些简单的东西。我开始学习this教程,并尝试了一些事情,现在我想弄清楚如何使用它在后台运行它。

2 个答案:

答案 0 :(得分:5)

替代解决方案(我将离开网址选择部分)。

background.html:

var timer = setInterval(function() {
    chrome.tabs.getSelected(null, function(tab) {
        chrome.tabs.update(tab.id, {url: "http://google.com"});
    });
}, 60000);

//stop
chrome.browserAction.onClicked.addListener(function(){
    clearInterval(timer);
});

答案 1 :(得分:1)

你也可以编写一个你要注入的内容脚本,但是我只是将它存储在变量中就足够了。我建议您查看chrome.tab API,因为Google在为开发人员记录其API方面做得很好。

在您的背景页面中:

var REDIRECTION_SCRIPT_A = "window.location.href='http://www.google.com'";
var REDIRECTION_SCRIPT_B = "window.location.href='http://bit.ly/m2TXqC'";
var toGoogle = true;
var intervalId;

chrome.browserAction.onClicked.addListener(function() {
  clearInterval(intervalId);
});

// Execute redirection script on current page
// Note that you can select any tab based on its ID by replacing
// null below
function annoyUser() {
  console.log("test");
  chrome.tabs.executeScript(null, {code:
    (toGoogle ? REDIRECTION_SCRIPT_A : REDIRECTION_SCRIPT_B) });
  toGoogle = !toGoogle;
}

// Do once a minute ad infinitum
intervalId = setInterval(annoyUser, 5000);

在你的manifest.json中:

{
  ...
  "permissions": ["http://*/*", "tabs"],
  ...
}