Как создать цикл SetInterval для редактирования URL Chrome - PullRequest
1 голос
/ 25 сентября 2019

Я использую функцию для редактирования URL-адреса Chrome и хочу создать цикл setInterval для переключения между двумя разными URL-адресами каждые 5 секунд.

Итак, я создал 2 отдельные функции для разных URL-адресов, и теперь япытаясь создать цикл setInterval, но у меня возникли проблемы с этим, как я могу это сделать?

function auto_url(){
chrome.tabs.query({currentWindow: true, active: true}, function (tab) {
 chrome.tabs.update(tab.id, {url:"www.youtube.com"});
});
}
function auto_url2(){
chrome.tabs.query({currentWindow: true, active: true}, function (tab) {
 chrome.tabs.update(tab.id, {url:"www.google.com"});
});
}

 var time = setInterval(setPage, 3000);
 function timer() {
 var arrayOfFunctions = [];
arrayOfFunctions.push(auto_url) = arrayOfFunctions.push(auto_url2) == 
(auto_url) ? auto_url2 : auto_url;
}
for (var key in arrayOfFunctions) {
arrayOfFunctions[key](); // run your function
}

Я также пробовал это:

function auto_url(){
 chrome.tabs.query({currentWindow: true, active: true}, function (tab) {
 chrome.tabs.update(tab.id, {url:"www.youtube.com"});
 });
 }
 function auto_url2(){
 chrome.tabs.query({currentWindow: true, active: true}, function (tab) {
 chrome.tabs.update(tab.id, {url:"www.google.com"});
 });
 }
 var webURLS = window["auto_url", "auto_url2"];
 var website = document.querySelector('#web-address');
 function flipper() {
  var timer, count = 0;
  var loop = function loop(count) {
   if (count === webURLS.length) count = 0;
   website.src = webURLS[count];
  timer = setTimeout(loop, 5000, ++count);
 }
  loop(count);
 }
 flipper();

1 Ответ

1 голос
/ 25 сентября 2019

Один из способов сделать это - использовать глобальную переменную.

var alt = false;

function auto_url() {
    chrome.tabs.query({ currentWindow: true, active: true }, function (tab) {
        chrome.tabs.update(tab.id, { url: "http://www.youtube.com" });
    });
}

function auto_url2() {
    chrome.tabs.query({ currentWindow: true, active: true }, function (tab) {
        chrome.tabs.update(tab.id, { url: "http://www.google.com" });
    });
}

setInterval(function () {
    if (alt) {
        alt = false;
        auto_url();
    } else {
        alt = true;
        auto_url2();
    }
}, 5000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...