Thomek
@Thomek

Как на сайте сделать редирект один раз в 24 часа?

Как на сайте сделать редирект в новой вкладке браузера после загрузки страницы, один раз в 24 часа для уникального пользователя с помощью куки?
setTimeout(function(){window.open("ya.ru")},1000)
  • Вопрос задан
  • 215 просмотров
Решения вопроса 1
@maksam07
function setCookie(name, value, days) {
    const date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    const expires = "; expires=" + date.toUTCString();
    document.cookie = `${name}=${value || ""}${expires}; path=/`;
}

function getCookie(name) {
    const nameEQ = `${name}=`;
    const cookies = document.cookie.split(';');
    for (const cookie of cookies) {
        let c = cookie.trim();
        if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length);
    }
    return null;
}

function checkRedirect() {
    const lastRedirect = getCookie("lastRedirect");
    const now = Date.now();

    if (!lastRedirect || now - parseInt(lastRedirect) > 24 * 60 * 60 * 1000) {
        setCookie("lastRedirect", now, 1);

        setTimeout(() => {
            window.open("https://ya.ru", "_blank");
        }, 1000);
    }
}

window.addEventListener('load', checkRedirect);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы