Ich versuche, eine Chrome-Erweiterung mit der Chrome-Tabs-API zu erstellen, die alle geöffneten Registerkarten in einem Fenster durchläuft und alle n Sekunden aktualisiert. Ich habe Probleme, meine for-Schleife einmal alle 5 Sekunden zu wiederholen. Ich habe ein paar verschiedene Möglichkeiten ausprobiert, um Timeouts und so einzustellen, aber ich habe entweder die Schleife nicht oder ich bekomme eine Endlosschleife. Ich bin neu in Javascript. Jede Hilfe wäre willkommen!Chrom-Registerkarten wechseln und alle 5 Sekunden aktualisieren - 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});
}
}
);
ich erkennen, dass es bereits Erweiterungen gibt, die dies tun. Ich erschaffe meine eigene Lernerfahrung und für mehr Kontrolle über Funktionalität.
Das scheint nicht zu funktionieren. – JSilvia
Ich habe einige Änderungen im obigen Code vorgenommen und jetzt funktioniert es in meinem Browser. –