С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 6

Автоматическое обновление стороннего сайта (по таймеру)

23.09.2015, 09:28. Показов 4241. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Вопрос заключается в следующем, есть код для обновления стороннего сайта, возможно было бы обойтись без строчки <iframe....>, так как необходимо само обновление страницы, а не вывод ее куда либо?
JavaScript
1
2
3
4
5
<script>
setInterval(function(){
    document.getElementById("myiframe").src="http://сайт.ru";
},60000);
</script>
HTML5
1
<iframe id="myiframe" width=100% height=100%></iframe>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.09.2015, 09:28
Ответы с готовыми решениями:

Автоматическое обновление документа по таймеру
есть тaблицa, кaждaя ячеикa тaблицы этo фaил php &lt;table&gt; &lt;tr&gt;&lt;td&gt;img.php&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td&gt;yy.php&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; ...

Автоматическое выполнение скрипта по таймеру на хостинге
Здравствуйте! Задачка такая - есть код, который нужно выполнять каждые 60 минут. Как это можно сделать? Заранее большое...

Автоматическое закрытие текущей формы по таймеру
Только начал изучать C#, помогите пожалуйста разобраться с таймером, уверен для знающего человека это пустяк. Как реализовать чтобы после...

11
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
23.09.2015, 19:50
Просто замените width=100% height=100% на style="display:none" и тогда сторонний сайт на странице отображаться не будет, а его посещаловка и дальше будет хвунциклирить:
HTML5
1
<iframe id="myiframe"style="display:none"></iframe>
0
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 6
24.09.2015, 00:24  [ТС]
Опан, Спасибо)
0
25.09.2015, 00:32

Не по теме:

опаньки, опять накручивальщики
не помню точно как называется, но это не хорошо

0
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 6
25.09.2015, 10:11  [ТС]
BANO, не, все прилично, нужно картинку с камеры обновлять)
0
0 / 0 / 0
Регистрация: 10.11.2017
Сообщений: 4
10.11.2017, 20:57
Здравствуйте. За основу взят данный скрипт

JavaScript
1
2
3
4
5
<script>
setInterval(function(){
 document.getElementById("myiframe").src="http://сайт.ru";
},60000);
</script>
JavaScript
1
<iframe id="myiframe" width=100% height=100%></iframe>
Вместо одного сайта http://сайт.ru пытаюсь подгрузить туда разные страницы одного сайта
http://сайт.ru/1.html
http://сайт.ru/2.html
http://сайт.ru/3.html
и т.д.

Делаю это так.

JavaScript
1
2
3
4
5
<script>
setInterval(function(){
 document.getElementById("myiframe").src="<? include "randtext.php"?>";
},60000);
</script>
JavaScript
1
<iframe id="myiframe" width=100% height=100%></iframe>
randtext.php содержит

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
include "config.php";
 mt_srand ((float) microtime() * 1000000);
 $fp = file($config["datafile"]);
 $count = count($fp) - 1;
 $text = $fp[mt_rand(0,$count)];
 
 if (empty($type)) 
   {
    echo $text;
   }
 else 
   {
    $fp = file($type . ".inc.php");
    for($i = 0 ; $i < count($fp); $i++)
      {
        $fp[$i] = str_replace("<!!text!!>",$text,$fp[$i]);
        echo $fp[$i];
        flush();
      }
   }
?>
config.php содержит

PHP
1
2
3
4
5
6
<?
// Setting //
 
$config["datafile"] = "./data.txt";
 
?>
и data.txt содержит собственно адреса ссылок вида
http://сайт.ru/1.html
http://сайт.ru/2.html
http://сайт.ru/3.html

Всё бы ничего, это связка в принципе работает, разные страницы подставляются, но через <iframe id="myiframe" width=100% height=100%></iframe> не выводится (не отображается)

Всё дело в том, что когда это происходит то в этой строке document.getElementById("myiframe").src= "http://сайт.ru";
последние символы "; переходят на строку ниже, по этому и не отображается.

В этом всём деле я полный 0.

Просьба, подскажите пожалуйста, как заставить эту связку работать нормально.
0
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
11.11.2017, 01:22
Здравствуйте. Хочу предложить более простой вариант, который работает так же само, но обходится без PHP:
JavaScript
1
2
3
4
5
var count = 1;
setInterval(function(){
myiframe.src="http://сайт.ru/"+count+".html";
count++;
},60000);
А о такой проблеме, связанной с переносом части строки кода на новую строку в редакторе слышу впервые. На всякий случай 3-ю строку JS-кода заменил более короткой строкой с таким же смыслом. Если что, ещё попробуйте в редакторе кода отключить перенос строк: главное меню-вид-перенос строк.

Добавлено через 15 минут
Последний код был рассчитан на последовательное подключение страниц 1.html, 2.html, 3.html и т. д. Если нужен случайный выбор, то можно сделать так: допустим, если есть 5 страниц:
JavaScript
1
2
3
4
setInterval(function(){
var count=1+Math.floor(Math.random()*5);
myiframe.src="http://сайт.ru/"+count+".html";
},60000);
Добавлено через 39 минут
Да, я сразу не заметил, randtext.php вызывается только один раз по ходу загрузки страницы, и в iframe периодически передаётся один и тот же результат его работы. Т. е., myiframe.src будет случайное, но через каждую минуту одно и то же. Для периодического вызова одного и того же PHP-скрипта из JS не обойтись без технологии ajax.
1
0 / 0 / 0
Регистрация: 10.11.2017
Сообщений: 4
11.11.2017, 01:49
Благодарю Опан. Всё работает! Моей радости нет придела )))

Добавлено через 5 минут
JS это конечно сила

А что если ссылки сайта будут иметь вид http://сайт.ru/article/537/какое то название статьи на кирилице
Где 537 это id статьи, естественно он разный

Без html в конце

В этом случае конструкция на php которую я привёл более универсальна, только "; переносятся на другую строку.

Варианты с редакторами все перепробовал, не помогло

Добавлено через 13 минут
HTML5
1
2
3
4
5
6
<script>
setInterval(function(){
 document.getElementById("myiframe").src="http://сайт.ru/article/41/какое то название статьи на кирилице
";
},60000);
</script>
так выглядит код после отработки и злополучные символы "; переходят на другую строку.
0
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
11.11.2017, 20:07
Цитата Сообщение от OlegNikolaev Посмотреть сообщение
В этом случае конструкция на php которую я привёл более универсальна
На JS можно аналогичную конструкцию сделать так:
JavaScript
1
2
3
4
5
6
7
8
9
10
var links = [];
links[0] = "537/статья";
links[1] = "126/одна_статья";
links[2] = "357/ещё_статья";
links[3] = "555/ещё_одна_статья";
links[4] = "222/просто_статья";
setInterval(function(){
    var count = Math.floor(Math.random() * 5);
    myiframe.src = "http://сайт.ru/article/" + links[count];
},60000);
1
0 / 0 / 0
Регистрация: 10.11.2017
Сообщений: 4
11.11.2017, 20:24
И ещё раз Благодарю.

А можно с помощью JS эти ссылки как то брать из файла .txt?

Просто этих ссылок может быть несколько десятков, а то и сотен.
0
Юзер с абсолютным слухом
 Аватар для Опан
709 / 489 / 195
Регистрация: 17.12.2010
Сообщений: 1,428
12.11.2017, 01:19
Да, можно. Сейчас напишу, как.

Не по теме:

А пока что хочу сказать, почему переносятся "; - PHP-функция file() возвращает массив, в каждой ячейке которого находится строка из файла, но заканчивается содержимое каждой ячейки (кроме последней) так же, как и строка в файле - кодами переноса строки \r\n. Чтобы их убрать, в файле randtext.php после 9 строки вставьте такую строку:

PHP
1
$text = str_replace(array("\r", "\n"), "", $text);



Добавлено через 4 часа 2 минуты
Вот как можно с помощью JS эти ссылки брать из файла .txt:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script>
function file_get_contents(url){
    // +   original by: Legaev Andrey
    var req = null;
    try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
        try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
            try { req = new XMLHttpRequest(); } catch(e) {}
        }
    }
    if (req == null) throw new Error('XMLHttpRequest not supported');
    req.open("GET", url, false);
    req.send(null);
    return req.responseText;
}
var links = file_get_contents("data.txt").split("\r\n");
setInterval(function(){
    var count = Math.floor(Math.random() * 5);
    myiframe.src = "http://сайт.ru/article/" + links[count];
}, 60000);
</script>
1
0 / 0 / 0
Регистрация: 10.11.2017
Сообщений: 4
12.11.2017, 01:54
ОГРОМНОЕ человеческое спасибо. Все варианты работают!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2017, 01:54
Помогаю со студенческими работами здесь

Автоматическое, периодическое добавление контента по таймеру php+ajax
Здравствуйте. Возможно уже заезженный вопрос, но ответа пока не нашел. Сайт развлекательной тематики. Хочу реализовать таймер,...

Обновление текста по таймеру
Прошу больно ногами не бить, с флешем работают первый день, вернее первые 2 часа. Встала задачка сделать информационное табло в холле...

Обновление текста по таймеру
Что нужно: Раз в секунду идёт пересчёт данных внутри приложения и эти обновлённые данные выводятся на экран. Что сделано: ...

Обновление listView по таймеру
Здравствуйте. Вопрос вроде бы очень частый, но ничего годного пока не нашел и не придумал. Есть класс, в нем статический лист, который...

WMI обновление загрузки ЦП по таймеру
Я пытался сделать обновление загрузки ЦП по таймеру, но у меня пустое поле вместо значения. Скажите кто знает как можно еще сделать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru