JavaScript условия RU или EN

136
19 июня 2018, 16:50

Такой вопрос. Как сделать кнопку с двумя файлами. Открытие в новом окне about:blank.

То есть есть 2 файла EN-blank.php и RU-blank.php

Как сделать условие, чтоб при загрузке страницы, чекался язык браузера функцией:

var language = navigator.language || navigator.userLanguage;

и если ru, то запускать RU-blank.php при нажатии на кнопку если en язык браузера, то EN-blank.php, при том что ссылка/кнопка на странице одна.

Две кнопки или ссылки мне не нужны.

Answer 1
<button onclick="checkLang();">Перейти на подходящий язык</button>
function checkLang()
{
    var lang = (navigator.language || navigator.userLanguage).slice(0, 2); 
    window.open('lang/' + (lang == 'ru' ? 'RU' : 'EN') + '-blank.php', '_blank', "width=200,height=100");
}
Answer 2

Если я верно понял вопрос, и в новой вкладке должна открываться страничка (EN|RU)-blank.php по клику на элементе, то в обработчике клика достаточно написать:

var lang = (navigator.language || navigator.userLanguage).slice(0, 2); 
if (lang != 'ru')
  lang = 'en'; 
window.open(lang + '-blank.php', '_blank'); 

Регистр первых двух символов имени файла в URL не имеет значения, но если хочется заглавные - просто добавьте .toUpperCase().

Демо на JS Bin

Answer 3

Заранее прошу прощения, комментировать пока не могу. Откроется новое окно, если добавить к методу параметры (размер, расположение), например:

window.open('lang/' + (lang == 'ru' ? 'RU' : 'EN') + '-blank.php', '_blank', 'width=200,height=100' );
READ ALSO
Не работают скрипты на iphone

Не работают скрипты на iphone

Постоянно сталкиваюсь с тем, что некоторые скрипты не работают на iPhoneВ частности сейчас столкнулся с такой проблемой, следующий скрипт не отрабатывает...

156
Убрать блок при клике

Убрать блок при клике

Нужно чтобы по нажатию на "cat1" появлялся блок "subcat", а блок "cat" либо исчезал, либо "subcat" перекрывал его

207
Как задать такие стили для слайдера

Как задать такие стили для слайдера

У меня есть слайдер с фотографиями

175