Для проекта, над которым я работаю, я должен перенаправить страницу в правильную версию локали на основе куки. Я пытаюсь прочитать файл 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(...)