我想要实现的是在后台运行一个Chrome扩展,每分钟重定向到google.com,然后一分钟后重定向到stackoverflow.com等等。该图标被大多数扩展所在的扳手图标点击。Chrome扩展定时重定向
但是,我只知道如何重定向一个页面使用 window.location.replace(“http://google.com”);
我仍在学习如何开发chrome扩展,以及为学习过程制作一些简单的东西。我开始从this教程中学习,并尝试了几件事情,现在我想弄清楚如何让它像后台运行一样。
我想要实现的是在后台运行一个Chrome扩展,每分钟重定向到google.com,然后一分钟后重定向到stackoverflow.com等等。该图标被大多数扩展所在的扳手图标点击。Chrome扩展定时重定向
但是,我只知道如何重定向一个页面使用 window.location.replace(“http://google.com”);
我仍在学习如何开发chrome扩展,以及为学习过程制作一些简单的东西。我开始从this教程中学习,并尝试了几件事情,现在我想弄清楚如何让它像后台运行一样。
您也可以编写一个您要注入的内容脚本,但很容易,我只是将它存储在一个变量中。我建议您查看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"],
...
}
哦,我现在明白了。谢谢!关于Chrome扩展,他们未来会有更多的问题。 – 2011-06-06 00:36:11
替代的解决方案(我离开网址选择部分出)。
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不知道为什么我错过了'chrome.tabs.update' – brymck 2011-06-05 18:49:17
你想重定向哪个选项卡或页面? – brymck 2011-06-05 18:02:40
没有页面,只是一个学习过程。我抓住了一个随机的网址(http://stackoverflow.com/questions/6166121/drupal-android-app-login-persistence) – 2011-06-05 18:15:43