JS Browser с функцией паузы, помогите пожалуйста

Я написал эту программу на js, которая просматривает список URL-адресов, где она остается на каждой странице в течение нескольких секунд, закрывает текущее окно и открывает следующую строку. Все отлично работает, теперь мне нужно, чтобы он останавливал / останавливал каждые 5 ссылок. Вторая часть этого проекта будет состоять в том, чтобы создать свой собственный браузер, который будет открываться как программа, и в нем будет три кнопки (старт, продолжение, остановка, а также пауза). Я бы хотел, чтобы кнопка "Пуск" явно запускала функцию, проходящую по страницам, продолжить, когда она остановится на пятой ссылке. Мне нужно всплывающее сообщение "проснуться" и возможность нажать "ОК". только. Затем вам нужно будет нажать продолжить для продолжения функции. Стоп остановит функцию, где бы она ни находилась в списке. Я хотел бы, чтобы ссылки отображались в моем браузере, а не в Google Chrome или любом другом. Какую программу я должен использовать для разработки браузера? Вот код текущей программы:

var urlList = ['www.youtube.com',
            'www.google.com', 
            'www.bing.com',
            'www.yahoo.com', 
            'www.facebook,com',
            'www.windows.com', 
            'www.opera.com',];
var wnd;
var curIndex = 0; // a var to hold the current index of the current url

function openWindow(){
    wnd = window.open(urlList[curIndex], '', '');
    if (curIndex % 5 == 0) {
                           }
    setTimeout(function () {
         wnd.close(); //close current window
         curIndex++; //increment the index
         if(curIndex < urlList.length) openWindow(); //open the next window if the array isn't at the end
}, 4000);
}
openWindow();

Помогите мне закончить заявление if...

1 ответ

Решение

Добавьте переменную для периода ожидания вместо значения 4000. Обратите внимание, что она должна иметь глобальную область видимости. Я добавил переменную под названиемdelay Вот:

var wnd;
var curIndex = 0; // a var to hold the current index of the current url
var delay;

Затем используйте новую переменную в вашем openWindow() функция, установив его значение на более длительный период в вашем if заявление, когда вы хотите, чтобы паузы произошли.

Я использовал троичный оператор здесь вместо if заявление, но вы могли бы использовать if Скажите точно так же:

function openWindow(){
    wnd = window.open('http://' + urlList[curIndex], '', '');

    // pause for 30 seconds instead of 4 if the condition is met
    delay = (curIndex > 0 && curIndex % 3 == 0 ? 30000 : 4000)

    setTimeout(function () {
         wnd.close(); //close current window
         curIndex++; //increment the index
         if(curIndex < urlList.length) openWindow(); //open the next window if the array isn't at the end
}, delay);
}
Другие вопросы по тегам