Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как заставить работать скрипт по серверному времени ? (https://javascript.ru/forum/misc/77081-kak-zastavit-rabotat-skript-po-servernomu-vremeni.html)

Malleys 26.03.2019 15:30

Цитата:

Сообщение от ddro3doff
Куда конкретно это вставить?

Например, создайте файл time.php в корневой папке сайта и в него вставьте. Затем в скрипте поменяйте адрес на http://vsmislie.ru/time.php

Malleys 26.03.2019 15:35

О, оно у вас правильно работает!

UPD теперь
fetch("https://cors-anywhere.herokuapp.com/http://worldclockapi.com/api/json/utc/now")
поменяйте на
fetch("http://vsmislie.ru/time.php")

ddro3doff 26.03.2019 15:37

Цитата:

Сообщение от Malleys (Сообщение 505546)
Например, создайте файл time.php в корневой папке сайта и в него вставьте. Затем в скрипте поменяйте адрес на http://vsmislie.ru/time.php

Сделал. Походу на сервере правильно время идет. Но почему то у меня в админке показывается украинское время.

ddro3doff 26.03.2019 15:43

Цитата:

Сообщение от Malleys (Сообщение 505547)
О, оно у вас правильно работает!

UPD теперь
fetch("https://cors-anywhere.herokuapp.com/http://worldclockapi.com/api/json/utc/now")
поменяйте на
fetch("http://vsmislie.ru/time.php")

Спасибо огромное Вам и Вашему форуму за оказанную помощь. Если ьы не вы , у меня наверно уже дымилась голова.
Осталась пару вопросов
Если будет необходимость поменять день недели, какие правки нужно будет указать в коде?
Можно добавить в код единоразовую перезагрузку страницы при начале игры?

ddro3doff 26.03.2019 15:51

Еще раз спасибо!

Malleys 26.03.2019 16:01

Цитата:

Сообщение от ddro3doff
При обновлении страницы отсчет не начинается сразу, только кода время доходит до 00 секунд таймер появляетс

Не понял, я очистил кеш для вашего сайта, сейчас работает как надо, с точностью до секунд.
Цитата:

Сообщение от ddro3doff
Если будет необходимость поменять день недели, какие правки нужно будет указать в коде?
Можно добавить в код единоразовую перезагрузку страницы при начале игры?

https://jsfiddle.net/pb5Lautf/2/ сравните код

ddro3doff 26.03.2019 16:04

Цитата:

Сообщение от Malleys (Сообщение 505552)
Не понял, я очистил кеш для вашего сайта, сейчас работает как надо, с точностью до секунд.
https://jsfiddle.net/pb5Lautf/2/ сравните код

Можно заменить на Ваш код , только с правкой fetch на мой сервер?

ddro3doff 26.03.2019 16:10

Malleys,
Спасибо Вам огромное!! все получилось!!! Завтра протестирую оповещения и поставлю скрипт в работу.

Malleys 26.03.2019 16:44

ddro3doff,
Кстати я маленькую ошибку сделал... эти условия никогда не выполняются

Неправильно!
if(dt > WEEK && dt < WEEK - SECOND) {
        // по пятницам в 19:00:00, т. е. в первую секунду игры
        location.reload();
    }
    
    if(dt > WEEK - 45 * MINUTE && dt < WEEK - 45 * MINUTE - SECOND) {
        // по пятницам в 19:45:00, т. е. на 45-ой минуте игры
    }
    
    if(dt > WEEK - 49 * MINUTE && dt < WEEK - 49 * MINUTE - SECOND) {
        // по пятницам в 19:49:00, т. е. на 49-ой минуте игры
    }


Надо все значки > и < поменять на противоположные

Правильно!
if(dt < WEEK && dt > WEEK - SECOND) {
        // по пятницам в 19:00:00, т. е. в первую секунду игры
        location.reload();
    }
    
    if(dt < WEEK - 45 * MINUTE && dt > WEEK - 45 * MINUTE - SECOND) {
        // по пятницам в 19:45:00, т. е. на 45-ой минуте игры
        alert("1");
    }
    
    if(dt < WEEK - 49 * MINUTE && dt > WEEK - 49 * MINUTE - SECOND) {
        // по пятницам в 19:49:00, т. е. на 49-ой минуте игры
        alert("2");
    }

ddro3doff 27.03.2019 09:32

Цитата:

Сообщение от Malleys (Сообщение 505564)
ddro3doff,
Кстати я маленькую ошибку сделал... эти условия никогда не выполняются

Неправильно!
if(dt > WEEK && dt < WEEK - SECOND) {
        // по пятницам в 19:00:00, т. е. в первую секунду игры
        location.reload();
    }
    
    if(dt > WEEK - 45 * MINUTE && dt < WEEK - 45 * MINUTE - SECOND) {
        // по пятницам в 19:45:00, т. е. на 45-ой минуте игры
    }
    
    if(dt > WEEK - 49 * MINUTE && dt < WEEK - 49 * MINUTE - SECOND) {
        // по пятницам в 19:49:00, т. е. на 49-ой минуте игры
    }


Надо все значки > и < поменять на противоположные

Правильно!
if(dt < WEEK && dt > WEEK - SECOND) {
        // по пятницам в 19:00:00, т. е. в первую секунду игры
        location.reload();
    }
    
    if(dt < WEEK - 45 * MINUTE && dt > WEEK - 45 * MINUTE - SECOND) {
        // по пятницам в 19:45:00, т. е. на 45-ой минуте игры
        alert("1");
    }
    
    if(dt < WEEK - 49 * MINUTE && dt > WEEK - 49 * MINUTE - SECOND) {
        // по пятницам в 19:49:00, т. е. на 49-ой минуте игры
        alert("2");
    }

Все работает , спасибо!
if(dt > WEEK && dt < WEEK - SECOND) {
        // по пятницам в 19:00:00, т. е. в первую секунду игры
        location.reload();
    }

Остался последний вопрос, как поставить этот таймер на 5 секунд?


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