我想要实现的是在后台运行Chrome扩展程序,每分钟都会重定向到google.com,然后一分钟后重定向到stackoverflow.com等等,直到点击图标为止通过扳手图标,其中大部分扩展名都是。
但是我只知道如何使用重定向页面 的 window.location.replace( “http://google.com”);
我还在学习如何开发chrome扩展,并为学习过程制作一些简单的东西。我开始学习this教程,并尝试了一些事情,现在我想弄清楚如何使用它在后台运行它。
答案 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"],
...
}