#javascript
#javascript
Вопрос:
Я нашел очень информативный сайт Factslides. На их главной странице есть слайд с более чем 9000 фактов, которые вы можете прочитать, нажав кнопку «Далее».
Я хотел сидеть сложа руки и читать факты, не нажимая кнопку «Далее», поэтому я написал следующий код и разместил его в консоли:
var button=document.getElementById("nextA");
setInterval(function(){
button.click();
}, 12000);
К счастью, код работал отлично, но я столкнулся с проблемой после 29 слайдов. После каждых 29 слайдов веб-страница обновляется, и код перестает работать.
После 29 слайдов URL веб-страницы меняется на https://www.factslides.com/p-2
После еще 29 слайдов он меняется на https://www.factslides.com/p-3
И так далее…
Пожалуйста, помогите мне решить эту проблему, чтобы был непрерывный слайд фактов без перерыва.
Спасибо!
Комментарии:
1. Если страница обновится, ваш таймер будет потерян, и я не вижу способа вернуть его после перезагрузки, если вы не вставите свой код снова. Может быть, вы можете сделать это с помощью расширения для браузера?
Ответ №1:
Веб-сайт просто хранит только 29 «слайдов» на гиперссылку. После 29 кнопка «далее» указывает на новый URL-адрес, который содержит следующий набор «слайдов».
Вы не сможете непрерывно переходить по этим URL-адресам — по крайней мере, не только с помощью javascript. Javascript не будет сохраняться, как только вы перейдете на новую страницу.
Я бы предложил изучить простое программное решение для макросов. В зависимости от вашей ОС есть очень легкие и простые варианты.
Ответ №2:
Вероятно, это связано с тем, что существует функция javascript, которая выполняет location.reload();
метод каждые 348 секунд, или может быть тег equiv-refresh, который выглядит следующим образом:
<meta http-equiv="refresh" content="5"; URL="http://www.yourdomain.com/yoursite.html">
Также может быть функция, перенаправляющая на другую страницу каждые 29 слайдов.
Комментарии:
1. В комментарии от @defraggled указывается, что на веб-сайте может храниться только 29 слайдов на гиперссылку, что означает, что файл JS не сохраняется при изменении URL-адреса. Для борьбы с этим я бы рекомендовал использовать программное решение для макросов.