Перенаправление на основе значения cookie не работает на локальном хосте - PullRequest
0 голосов
/ 04 января 2019

Для проекта, над которым я работаю, я должен перенаправить страницу в правильную версию локали на основе куки. Я пытаюсь прочитать файл cookie при инициализации, проверить, находитесь ли вы на правильной языковой странице или нет, и, если нет, перенаправить на нужную страницу.

Пример кода:

if (window.location.pathname == “/website/nl.html” && locale == “fr”) {
    let redirectUrl = window.location.origin + window.location.pathname.replace(‘nl’, ‘fr’);
    redirectUrl = window.location.origin + window.location.pathname.replace(‘nl’, ‘fr’);
    console.log(redirectUrl);
    // Output: http://localhost:4502/website/fr.html
    window.location = redirectUrl;
    // Page doesn't redirect
}
if (window.location.pathname == “/website/fr.html” && locale == “nl”) {
    let redirectUrl = window.location.origin + window.location.pathname.replace(‘fr’, ‘nl’);
    redirectUrl = window.location.origin + window.location.pathname.replace(‘nl’, ‘fr’);
    console.log(redirectUrl);
    // Output: http://localhost:4502/website/nl.html
    window.location = redirectUrl;
    // Page doesn't redirect
}

По сути, redirectUrl содержит правильное значение, но URL-адрес страницы не изменяется и отображает пустую страницу. После обновления вы вернулись на первую неверную страницу.

Редактировать: я пытался с window.location.href = ... и window.location.replace(...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...