ChromeタブAPIを使用してクロム拡張機能を構築しています。開いているタブをすべて開いて、n秒ごとに更新します。 forループを5秒に1回反復するのに問題があります。私は、タイムアウトなどを設定するいくつかの異なる方法を試してみましたが、私はループがまったく実行されていないか、または無限ループを取得しています。私はJavaScriptに新しいです。どんな助けもありがとう!クロムタブを切り替えて5秒ごとに更新する - javascript
background.js
chrome.browserAction.onClicked.addListener(function(tab) {
// Send a message to the active tab
chrome.tabs.query({currentWindow: true}, function(tabs) {
var foundSelected = false;
(function switch() {
for(i = 0; i <= tabs.length; i++){
if(i == tabs.length){
i = 0;
}
if (tabs[i].active){
foundSelected = true;
}
// Finding the next tab
else if (foundSelected){
// Selecting the next tab.
chrome.tabs.update(tabs[i].id, {active: true});
chrome.tabs.reload(tabs[i].id);
setTimeout(switch, 5000);
}
}
})();
// var activeTab = tabs[0];
chrome.tabs.sendMessage(activeTab.id, {"message": "clicked_browser_action"});
});
});
content.js私はこれを行うそこに拡張子が既に存在していることを実感
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if(request.message === "clicked_browser_action") {
chrome.tabs.update(tabId, {selected: true});
}
}
);
。私は学習経験として、そして機能性をよりコントロールするために自分自身を作り出しています。
これはうまくいかないようです。 – JSilvia
私は上記のコードでいくつかの変更を行いましたが、今はブラウザで正常に動作しています。 –