Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 07.03.2018
Сообщений: 31
1

Показ текста в зависимости от страны

07.03.2018, 23:03. Показов 2167. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Подскажите, как можно реализовать отображение определенного текста на странице в зависимости от страны посетителя. То есть как то так:

Определение страны:
если Страна1 - "Привет Страна1, как дела"
если Страна2 - "Спокойно ночи, Страна2"
если все остальные "Информация не доступна".

Как то так.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2018, 23:03
Ответы с готовыми решениями:

Менять background в зависимости от страны посетителя
Всем доброго времени суток! Для модератора! в ветке форума HTML/CSS уже создавал эту тему, но...

Показ/скрытие текста
помогите написать скрип...нужно чтоб часть текта была написана и стояла кнопка --показать весь...

Показ текста по выбору из выпадающего списка
Вот на этой странице http://java-gems.lark.ru/yuayva.html есть скрипт показа текста по выбору из...

Показ модального окна при изменении текста в тегах <p>
всем привет! такая ситуация, есть корзина, которая показывает по умолчанию такой тест &quot;Кол-во...

4
98 / 101 / 30
Регистрация: 21.10.2012
Сообщений: 320
07.03.2018, 23:11 2
Ветвления либо свич-кейс.
0
1 / 1 / 0
Регистрация: 07.03.2018
Сообщений: 31
07.03.2018, 23:23  [ТС] 3
Хорошо. А чем определить страну? Мне нужно чтобы человек не выбирал страну из списка, а она определялась автоматически.

Добавлено через 2 минуты
Я находил такой кусочек кода на JSON, но не смог его правильно прикрутить:

JSON
1
2
3
4
5
6
7
8
9
10
11
$.get("http://ipinfo.io", function(response) {
    if(response.country == "US") {
        $("#welcome").html("Welcome, American!");
    }
    else if(response.country == "GB") {
        $("#welcome").html("Welcome, Brit!");
    }
    else {
        $("#welcome").html("Hello!");
    }
}, "jsonp");
Добавлено через 5 минут
Или еще один нашел кусочек, но тоже не смог его реализовать. Почему то не отрабатывает:
Javascript
1
2
3
4
5
6
7
8
9
10
11
<script type='application/javascript'>
  
   $.getJSON("http://api.hostip.info/get_json.php", function(data){
           CountryCode = data.country_code;
           if (CountryCode == "RU") {window.location.replace("http://site.ru"); }
      else if (CountryCode == "US") {window.location.replace("http://site.us"); }
      else                          {window.location.replace("http://site.ph"); };
 
});
    
</script>
0
958 / 520 / 244
Регистрация: 20.05.2015
Сообщений: 774
08.03.2018, 07:51 4
Лучший ответ Сообщение было отмечено 404_NotFound как решение

Решение

404_NotFound, есть несколько вариантов решить проблему. Воспользоваться сервисом, типа ipinfo.io и использовать его возможности.

HTML5
1
<div class="container"></div>
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var el = document.querySelector('.container');
 
var xhr =
    typeof XMLHttpRequest != 'undefined'
        ? new XMLHttpRequest()
        : new ActiveXObject('Microsoft.XMLHTTP');
 
xhr.open('GET', 'https://ipinfo.io/json', true);
xhr.responseType = 'json';
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        if (xhr.status == 200) {
            el.textContent = xhr.response.country == 'RU' ? 'RUSSIA' : xhr.response.country == 'US' ? 'USA' : 'OTHER COUNTRY';
        }
    }
};
xhr.send();
Демонстрация

+ с использованием jQuery (подключите библиотеку JQUERY):

HTML5
1
<div class="container"></div>
Javascript
1
2
3
$.get('https://ipinfo.io/json', function(response) {
    $('.container').text(response.country == 'RU' ? 'RUSSIA' : response.country == 'US' ? 'USA' : 'OTHER COUNTRY');
}, 'json');
Демонстрация

И на десерт. Изменяем содержимое блока через CSS + navigator.languages. Никогда не используйте данный способ.

HTML5
1
<div class="container"></div>
CSS
1
2
3
4
5
6
7
8
9
10
11
.container:lang(ru):after {
    content: "RU";
}
 
.container:lang(en):after {
    content: "EN";
}
 
.container:not(:lang(ru)):not(:lang(en)):after {
    content: "OTHER COUNTRY";
}
Javascript
1
2
3
4
5
var locale = navigator.languages
    ? navigator.languages[0]
    : navigator.language || navigator.userLanguage;
 
document.querySelector('.container').setAttribute('lang', locale.substring(0, 2));
Демонстрация
1
1 / 1 / 0
Регистрация: 07.03.2018
Сообщений: 31
08.03.2018, 11:35  [ТС] 5
Спасибо за очень подробный ответ
0
08.03.2018, 11:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2018, 11:35
Помогаю со студенческими работами здесь

Менять background в зависимости от страны посетителя
Доброго Всем времени суток! скажите пожалуйста реально ли менять фон сайта в зависимости от страны...

показ адсенса в зависимости от региона IP
Можно ли сделать так, что бы адсенс показывался только посетителям не из определённой страны?

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

Показ блоков в зависимости от выбора select
&lt;select id=&quot;form1&quot;&gt; &lt;option value=&quot;knigi&quot;&gt;Книги&lt;/option&gt; &lt;option...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru