我想要實現的是在後臺運行一個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