Javascript Chrome扩展定时重定向

Javascript Chrome扩展定时重定向,javascript,google-chrome,google-chrome-extension,timed,Javascript,Google Chrome,Google Chrome Extension,Timed,我试图实现的是在后台运行一个chrome扩展,每分钟它都会重定向到google.com,然后一分钟后重定向到stackoverflow.com等等,直到大多数扩展被扳手图标点击为止 但是,我只知道如何使用 窗口。位置。替换(“http://google.com"); 我还在学习如何开发chrome扩展,只是做了一些简单的学习过程。我从教程开始学习,并尝试了一些方法,现在我想弄清楚如何让这样的东西在后台运行。您也可以编写一个内容脚本来注入,但很简单,我只是将它存储在一个变量中。我建议大家看看API

我试图实现的是在后台运行一个chrome扩展,每分钟它都会重定向到google.com,然后一分钟后重定向到stackoverflow.com等等,直到大多数扩展被扳手图标点击为止

但是,我只知道如何使用 窗口。位置。替换(“http://google.com");


我还在学习如何开发chrome扩展,只是做了一些简单的学习过程。我从教程开始学习,并尝试了一些方法,现在我想弄清楚如何让这样的东西在后台运行。

您也可以编写一个内容脚本来注入,但很简单,我只是将它存储在一个变量中。我建议大家看看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"],
  ...
}

您也可以只编写一个内容脚本来注入,但很简单,我只是将其存储在一个变量中。我建议大家看看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"],
  ...
}
替代解决方案(我将url选择部分略去)

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);
});
替代解决方案(我将url选择部分略去)

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);
});

你想重定向哪个选项卡或页面?没有特别的页面,只是一个学习过程。我抓取了一个随机url(),你想重定向哪个选项卡或页面?没有特别的页面,只是一个学习过程。我抓取了一个随机的url()哦,我现在明白了。谢谢将来会有更多关于chrome扩展的问题。哦,我现在明白了。谢谢在未来,关于chrome扩展的问题会更多。