Перейти к содержимому


Фото
* * * * * 6 голосов

Определение города посетителя


Best Answer insider , 26.10.2014 - 23:21

Готовый код вставки в любое место сайта с указанием города, региона и страны.

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
      jQuery("#user-region").text(ymaps.geolocation.region);
	  jQuery("#user-country").text(ymaps.geolocation.country);
  }
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
<div id="user-city"></div> <div id="user-region"></div> <div id="user-country"></div>
Перейти к посту


  • Чтобы отвечать, сперва войдите на форум
54 ответов в теме

#1 insider

insider
  • Пользователь
  • 31 сообщений
  • Версия CMS:2.x

Опубликовано 26.10.2014 - 18:08

Недавно столкнулся с задачей отображать город посетителя для улучшения конверсионных показателей магазина. Решение нашлось очень простое.

 

Втавляем в index.tpl (или на странице доставка) в любом нужном месте cледующий код:

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
  }
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
Доставляем в <div id="user-city"></div>

Будет интересно применить в следующих ситуациях:

 

- Отображать любые данные доставки, в зависимости от города (номер телефона, адрес)

- Использовать определение города при заказе, чтобы избавить пользователя от заполнения города, дав право его редактировать.

 

Предлагайте ваши идеи использования геолокации, реализуем!



#2 Dimon789

Dimon789
  • Пользователь
  • 196 сообщений

Опубликовано 26.10.2014 - 21:48

еще круто область вывести и страну :)



#3 insider

insider
  • Пользователь
  • 31 сообщений
  • Версия CMS:2.x

Опубликовано 26.10.2014 - 23:16

еще круто область вывести и страну :)

 

Выводи с помощью 

//  страна, город, регион.
geolocation.country, geolocation.city, geolocation.region


#4 insider

insider
  • Пользователь
  • 31 сообщений
  • Версия CMS:2.x

Опубликовано 26.10.2014 - 23:21   Best Answer

Готовый код вставки в любое место сайта с указанием города, региона и страны.

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
      jQuery("#user-region").text(ymaps.geolocation.region);
	  jQuery("#user-country").text(ymaps.geolocation.country);
  }
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
<div id="user-city"></div> <div id="user-region"></div> <div id="user-country"></div>


#5 Slip

Slip
  • Пользователь
  • 17 сообщений
  • Верстка
  • Версия CMS:2.x

Опубликовано 05.11.2014 - 10:22

Недавно столкнулся с задачей отображать город посетителя для улучшения конверсионных показателей магазина. Решение нашлось очень простое.

 

Втавляем в index.tpl (или на странице доставка) в любом нужном месте cледующий код:

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
  }
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
Доставляем в <div id="user-city"></div>

Будет интересно применить в следующих ситуациях:

 

- Отображать любые данные доставки, в зависимости от города (номер телефона, адрес)

- Использовать определение города при заказе, чтобы избавить пользователя от заполнения города, дав право его редактировать.

 

Предлагайте ваши идеи использования геолокации, реализуем!

А как сделать чтобы при заказе город заполнился?



#6 infinity178

infinity178
  • Сомнительные
  • 283 сообщений
  • Пользователь

Опубликовано 05.11.2014 - 15:36

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").val(ymaps.geolocation.city+', '+ymaps.geolocation.region+', '+ymaps.geolocation.country);
  }
</script> 
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>


<input type='text' name='city' id='user-city' value='' />
 

PS нужное удаляете

есть только город, то

jQuery("#user-city").val(ymaps.geolocation.city);

#user-city - это ключ для input, может быть любым



#7 Karen

Karen
  • Пользователь
  • 186 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x

Опубликовано 15.01.2015 - 20:33

Готовый код вставки в любое место сайта с указанием города, региона и страны.

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
      jQuery("#user-region").text(ymaps.geolocation.region);
	  jQuery("#user-country").text(ymaps.geolocation.country);
  }
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
<div id="user-city"></div> <div id="user-region"></div> <div id="user-country"></div>

Подскажите, после установке кода, выпадающее меню залипает в открытом состоянии?



#8 insider

insider
  • Пользователь
  • 31 сообщений
  • Версия CMS:2.x

Опубликовано 15.01.2015 - 20:44

Подскажите, после установке кода, выпадающее меню залипает в открытом состоянии?

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>

Скорее всего jquery вызывается в шаблоне несколько раз. Попробуй один вызов удалить.



#9 Karen

Karen
  • Пользователь
  • 186 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x

Опубликовано 15.01.2015 - 22:18

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>

Скорее всего jquery вызывается в шаблоне несколько раз. Попробуй один вызов удалить.

Это то есть удалить эту строку?

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script> 
 


#10 SergoiD

SergoiD
  • Пользователь
  • 1 сообщений
  • Заказчик

Опубликовано 23.07.2015 - 20:49

Не сработает уже такое решение.

Определяет все-время Москва, на самом деле другой.


Изменено: SergoiD, 23.07.2015 - 20:52


#11 websah

websah
  • Пользователь
  • 139 сообщений
  • Дизайн, Заказчик, Пользователь
  • Откуда:kiev

Опубликовано 23.07.2015 - 23:30

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").val(ymaps.geolocation.city+', '+ymaps.geolocation.region+', '+ymaps.geolocation.country);
  }
</script> 
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>


<input type='text' name='city' id='user-city' value='' />
 

PS нужное удаляете

есть только город, то

jQuery("#user-city").val(ymaps.geolocation.city);

#user-city - это ключ для input, может быть любым

Крутяк получилось )))) Сасибо 



#12 websah

websah
  • Пользователь
  • 139 сообщений
  • Дизайн, Заказчик, Пользователь
  • Откуда:kiev

Опубликовано 23.07.2015 - 23:31

Недавно столкнулся с задачей отображать город посетителя для улучшения конверсионных показателей магазина. Решение нашлось очень простое.

 

Втавляем в index.tpl (или на странице доставка) в любом нужном месте cледующий код:

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
  }
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
Доставляем в <div id="user-city"></div>

Будет интересно применить в следующих ситуациях:

 

- Отображать любые данные доставки, в зависимости от города (номер телефона, адрес)

- Использовать определение города при заказе, чтобы избавить пользователя от заполнения города, дав право его редактировать.

 

Предлагайте ваши идеи использования геолокации, реализуем!

Спасибо )



#13 dmitry82

dmitry82
  • Пользователь
  • 1 сообщений
  • Дизайн

Опубликовано 16.10.2015 - 20:46

Недавно столкнулся с задачей отображать город посетителя для улучшения конверсионных показателей магазина. Решение нашлось очень простое.

 

Втавляем в index.tpl (или на странице доставка) в любом нужном месте cледующий код:

 

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  window.onload = function () {
      jQuery("#user-city").text(ymaps.geolocation.city);
  }
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
Доставляем в <div id="user-city"></div>

Будет интересно применить в следующих ситуациях:

 

- Отображать любые данные доставки, в зависимости от города (номер телефона, адрес)

- Использовать определение города при заказе, чтобы избавить пользователя от заполнения города, дав право его редактировать.

 

Предлагайте ваши идеи использования геолокации, реализуем!

Спасибо за крутой, быстрый лёгкий скрипт.

Возник вопрос можно ли в зависимости от страны\города выводить доп. информацию. Например № телефона, стоимость\условия\сроки доставки и т.д. (в общем любой произвольный текст или неск. блоков текста)?

Если да, то как.

Спасибо.



#14 Rash

Rash
  • Пользователь
  • 450 сообщений
  • Дизайн, Верстка
  • Версия CMS:2.x
  • Откуда:Russian Federation

Опубликовано 17.10.2015 - 20:04

Спасибо за крутой, быстрый лёгкий скрипт.

Возник вопрос можно ли в зависимости от страны\города выводить доп. информацию. Например № телефона, стоимость\условия\сроки доставки и т.д. (в общем любой произвольный текст или неск. блоков текста)?

Если да, то как.

Спасибо.

 

Сделать проверку и условие на нужный город, как то так

<script type="text/javascript"> 
  window.onload = function () {
   var city = ymaps.geolocation.city;
    if(city == 'Габон'){
       jQuery("#user-city").text('Бесплатная доставка по Габону');
     } else {
       jQuery("#user-city").text('Доставка почтой DHL Express');
   }
}
</script>


#15 websah

websah
  • Пользователь
  • 139 сообщений
  • Дизайн, Заказчик, Пользователь
  • Откуда:kiev

Опубликовано 31.12.2015 - 17:35

Еще + бы был если бы при  поисковом запросе определяло город и выдавало в поисковой выдаче как реализовано с площадками объявлений



#16 avorobyev

avorobyev
  • Пользователь
  • 5 сообщений
  • Пользователь

Опубликовано 20.02.2016 - 19:46

Подскажите пожалуйста. Задача - для Москвы и МО отобразить номер 495, для остальных регионов - 8800. Причем каждый номер должен быть ссылкой, чтобы можно было начать вызов с телефона, кликнув по нему. В Google Tag Manager вынесен код:

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
  <script type="text/javascript"> 
  window.onload = function () {
    if(ymaps.geolocation.region == 'Москва и Московская область'){
       jQuery("#region-phone").text('+7 (495) 000-00-00');
       jQuery("#region-phone-href").text('tel:+74950000000');
     } else {
       jQuery("#region-phone").text('+7 (800) 000-00-00');
       jQuery("#region-phone-href").text('tel:+78000000000');
   }
}
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>

На всех страницах сайта, где должен быть номер телефона, планируется вставить код типа:

<a href=region-phone-href><div id="region-phone"></div></a>

Как сделать так, чтобы в качестве ссылки было подставлено значение region-phone-href?


Изменено: avorobyev, 20.02.2016 - 20:10


#17 mishanya

mishanya
  • Фрилансер
  • 2 318 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 20.02.2016 - 20:21

Подскажите пожалуйста.

...

Как сделать так, чтобы в качестве ссылки было подставлено значение region-phone-href?

 

так попробуйте

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
  <script type="text/javascript"> 
  window.onload = function () {
    if(ymaps.geolocation.region == 'Москва и Московская область'){
       jQuery("#region-phone").text('+7 (495) 000-00-00');
       jQuery("#region-phone-href").attr('href', 'tel:+78000000000');
     } else {
       jQuery("#region-phone").text('+7 (800) 000-00-00');
       jQuery("#region-phone-href").attr('href', 'tel:+78000000000');
   }
}
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
<a id="region-phone-href" href="#"><div id="region-phone"></div></a>


#18 avorobyev

avorobyev
  • Пользователь
  • 5 сообщений
  • Пользователь

Опубликовано 20.02.2016 - 20:39

Спасибо, получилось! 


Изменено: avorobyev, 20.02.2016 - 20:45


#19 avorobyev

avorobyev
  • Пользователь
  • 5 сообщений
  • Пользователь

Опубликовано 20.02.2016 - 21:06

<a id="region-phone-href" href="#"><div id="region-phone"></div></a>

Столкнулся с проблемой, что этот код срабатывает на странице только 1 раз. Например, если номер телефона на странице встречается 3 раза:

  1. В шапке
  2. В тексте, например, на странице "Контакты"
  3. В подвале

то, в зависимости от региона номер подставится только в первом случае. В остальных местах пусто. Как сделать так, чтобы номер подставлялся во всех местах, где я добавил этот код?



#20 mishanya

mishanya
  • Фрилансер
  • 2 318 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 20.02.2016 - 21:37

<a id="region-phone-href" href="#"><div id="region-phone"></div></a>

Столкнулся с проблемой, что этот код срабатывает на странице только 1 раз. Например, если номер телефона на странице встречается 3 раза:

  1. В шапке
  2. В тексте, например, на странице "Контакты"
  3. В подвале

то, в зависимости от региона номер подставится только в первом случае. В остальных местах пусто. Как сделать так, чтобы номер подставлялся во всех местах, где я добавил этот код?

 

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

 

для множества используйте классы.

<script src="http://yastatic.net/jquery/2.1.1/jquery.min.js"></script>
  <script type="text/javascript"> 
  window.onload = function () {
    if(ymaps.geolocation.region == 'Москва и Московская область'){
       jQuery(".region-phone").text('+7 (495) 000-00-00');
       jQuery(".region-phone-href").attr('href', 'tel:+78000000000');
     } else {
       jQuery(".region-phone").text('+7 (800) 000-00-00');
       jQuery(".region-phone-href").attr('href', 'tel:+78000000000');
   }
}
</script>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script>
<a class="region-phone-href" href="#"><div class="region-phone"></div></a>

Изменено: mishanya, 20.02.2016 - 21:37





1 пользователей читают эту тему

0 пользователей, 1 гостей, 0 скрытых