Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужен ротатор JavaScript'ов (https://javascript.ru/forum/misc/64959-nuzhen-rotator-javascript%27ov.html)

TehSur 16.09.2016 11:28

Нужен ротатор JavaScript'ов
 
Здравия всем!
Ищу ротатор, который бы показывал определенный скрипт в определенный промежуток времени.
Например, нужно что-бы первый скрипт показывался 15 часов, или с 00:00 до 15:00. А второй скрипт 9 часов или с 15:00 до 24:00.
Все что находил обычно либо рандомно показывает, либо только через одинаковый промежуток.
Надеюсь на помощь, JavaScript за неделю вряд-ли выучу, а ротатор нужен уже сейчас...
Заранее благодарен.

TehSur 19.09.2016 05:55

Цитата:

Сообщение от Rise (Сообщение 428841)
TehSur, что значит показывать скрипт, скрипты выполняются, а не показываются... это не мультики...

Извиняюсь, не правильно выразился. Да, должны по времени исполняться скрипты, если это меняет суть просьбы.

TehSur 19.09.2016 09:10

Rise, как-то так? Протестить нет возможности пока.
<?php
if (date("%H") >= '15' && date("%H") < '24') {
echo '<script>alert(1)</script>';
} else {
echo '<script>alert(2)</script>';
}
?>

laimas 19.09.2016 09:17

Цитата:

Сообщение от TehSur
date("%H")

Это в каком учебнике прочитано, что параметр вывода РНР функции date() задается через %?

laimas 19.09.2016 09:28

TehSur,
да и условие не отражает требуемое - с 00:00 до 15:00. А второй скрипт 9 часов или с 15:00 до 24:00, для требуемого это будет:

echo date("G") <= 15 ? 1 : 2;


Но это верно только в том случае, если запуск определяется временем сервера, иначе проверка времени и подключение скрипта должно происходить на клиенте.

laimas 19.09.2016 10:13

Цитата:

Сообщение от Rise
date("H")

это с ведущим нулем, G - без ведущего нуля.

ну "до" так "до", я не против. :)

laimas 19.09.2016 10:53

Цитата:

Сообщение от Rise
на результат не влияет

конечно нет, но зачем получать непотребное выполняя при этом лишние операции?

TehSur 20.09.2016 05:21

Цитата:

Сообщение от laimas (Сообщение 429039)
Это в каком учебнике прочитано, что параметр вывода РНР функции date() задается через %?

Да это где-то на просторах инета прочитано)) Я больше по SEO, хотя приходится вот иногда работать со скриптами, дабы программистов не отвлекать на такие мелочи.
Цитата:

Сообщение от Rise (Сообщение 429048)
TehSur,
if (date("H") < "15") {

Работает, спасибо всем большое за помощь.

TehSur 20.09.2016 05:43

Еще хотел уточнить, сверка идет по дате сервера? Вывел на экран
echo date('l jS \of F Y h:i:s A');

Показал время на 3 часа меньше, чем мое.
Пробую изменить пояс, не меняется время.
<?php date_timezone_set('Europe/Kiev');
 echo date('l jS \of F Y h:i:s A'); ?>

Конечно это не столь важно, мне же время выводить не надо, просто для себя интересуюсь.

TehSur 20.09.2016 06:53

Разобрался с поясом, используя
<?php ini_set('date.timezone', 'Asia/Omsk');
echo date('Y-m-d H:i:s'); ?>

TehSur 20.09.2016 11:28

Цитата:

Сообщение от Rise (Сообщение 429146)
Сервер (сайт) и клиент (пользователь) - есть два разных компьютера, находящихся в разных часовых поясах обычно...

Час - есть время...

PS: осталось определить какое время нужно: сервера или клиента.

На сайте время/дата выводиться не будут, я просто вывел время, чтобы посмотреть от какого пояса отталкиваться. А там уже сам, для саморазвития, решил разобраться, как пояс часовой установить нужный. Учусь помаленьку.
Сейчас вроде все работает, по крайней мере тестил меняя часы, срабатывает нормально.
Еще раз всем спасибо, без вас бы не справился, или потратил бы очень много времени.

warren buffet 20.09.2016 13:44

Я все равно не понял при чем тут сервер. Если юзер хочет, чтобы у него в 15:00 светила Луна, это его желание. То есть локального времени для запуска скрипта вполне достаточно.

laimas 20.09.2016 14:41

Цитата:

Сообщение от TehSur
Да это где-то на просторах инета прочитано))

Читать надо внимательно, так задается формат в strftime(), gmstrftime().


Часовой пояс GMT +3, время: 22:39.