Есть ли способ сделать кнопку редирект на страницу текущей ссылки, но на другом языке

avatar
NIKOLAOS RAPANIS
8 августа 2021 в 16:15
39
2
0

Здравствуйте, у меня есть 2 блога на двух разных языках. Все ссылки идентичны, за исключением того факта, что блог на английском языке имеет суффикс "-en" после названия блога, а блог на греческом языке имеет суффикс "-el".

Я хочу разместить где-нибудь кнопку, которая использует ссылку на текущую страницу. Например, "https://cookwithnick-en.blogspot.com/2021/07/mini-piroshki.html", преобразует его в "https://cookwithnick-el.blogspot.com/2021/07/mini-piroshki". html" и открывает его на той же вкладке.

Мне удалось сделать следующий код, но он не работает:

<input type="button" onclick="location.href=window.location.href.replace("en", "el");" value="Greek" />

И пока код работает, если ".replace("en", "el");" отсутствует (перенаправляет на ту же страницу) Я хочу преобразовать ссылку на другой язык.

Спасибо за ваше время и предложения.

Источник
Danial
21 августа 2021 в 05:32
0

У вас еще нет проблем?

NIKOLAOS RAPANIS
21 августа 2021 в 19:27
0

@ Даниал Нет, я последовал твоему совету, спасибо!

Ответы (2)

avatar
Danial
8 августа 2021 в 16:27
1

Просто замените двойные кавычки одинарными в .replace("en", "el") Итак:

<input type="button" onclick="location.href=window.location.href.replace('en', 'el');" value="Greek" />

Однако лучше сделать так:

<input type="button" id="change-lang" value="Greek" />

<script>
    document.getElementById("change-lang").addEventListener("click", function(){
        location.href=window.location.href.replace('en', 'el');
    });
</script>
NIKOLAOS RAPANIS
9 августа 2021 в 20:36
0

Привет. Спасибо за помощь. Не будучи "свободным" в HTML, я не могу понять, как второй способ будет работать по-другому. Когда вы говорите лучше, вы имеете в виду, что код будет иметь лучший результат, или что в нем не будет много ошибок, или он просто лучше написан?

Danial
10 августа 2021 в 04:03
0

Это не отличается. Это просто лучшие практики @RAPANIS

avatar
Unmitigated
8 августа 2021 в 16:17
2

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

<input type="button" onclick="location.href=window.location.href.replace('en', 'el');" value="Greek" />

Однако обычно лучше использовать addEventListener вместо встроенных обработчиков событий.

NIKOLAOS RAPANIS
9 августа 2021 в 21:17
0

Большое спасибо за совет.

Unmitigated
9 августа 2021 в 21:19
0

@NIKOLAOSRAPANIS Рад помочь.

Unmitigated
9 августа 2021 в 21:20
0

@NIKOLAOSRAPANIS Если это решило вашу проблему, рассмотрите возможность принятия ее.