0

私が達成しようとしているのは、Chrome拡張機能をバックグラウンドで実行することです.1分ごとにgoogle.comにリダイレクトされ、1分後にstackoverflow.comにリダイレクトされ、アイコンがレンチでクリックされるまで継続的にリダイレクトされますほとんどの拡張機能があるアイコン。

ただし、 window.location.replace("http://google.com");を使用してページをリダイレクトする方法しか知りません 。

私はまだクロム拡張機能の開発方法を学んでおり、学習プロセスのためにいくつかの簡単なものを作成しています. 私はこのチュートリアルから学び始め、いくつかのことを試しました。そして今、このようなものをバックグラウンドで実行して動作させる方法を理解したいと思っています.

4

2 に答える 2

5

別の解決策 (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);
});
于 2011-06-05T18:46:22.133 に答える
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"],
  ...
}
于 2011-06-05T18:13:58.860 に答える