Jump to content

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


Go to solution Solved by insider,

Recommended Posts

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

 

Втавляем в 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>

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

 

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

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

 

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

Link to post
Share on other sites
  • Replies 72
  • Created
  • Last Reply

Top Posters In This Topic

  • Solution

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

<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>
Link to post
Share on other sites
  • 2 weeks later...

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

 

Втавляем в 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>

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

 

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

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

 

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

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

Link to post
Share on other sites
<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, может быть любым

Link to post
Share on other sites
  • 2 months later...

 

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

<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>

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

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

 

<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> 
 
Link to post
Share on other sites
  • 6 months later...

 

<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, может быть любым

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

Link to post
Share on other sites

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

 

Втавляем в 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>

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

 

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

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

 

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

Спасибо )

Link to post
Share on other sites
  • 2 months later...

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

 

Втавляем в 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>

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

 

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

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

 

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

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

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

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

Спасибо.

Link to post
Share on other sites

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

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

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

Спасибо.

 

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

<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>
Link to post
Share on other sites
  • 2 months later...
  • 4 weeks later...

Скрипт показывает мой город верно, в отличие от других нескольких сервисов. Спасибо автору. Ищу исполнителя на такую работу:

 

На сайте установлен движок Yii версии 1.1.16

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

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

Нужно подтверждение города, т.е "вы согласны с тем что вы в Омске?
если нет, банер исчезает.

Показывать нужно просто картинку-ссылку или код, взамен существующему виджету на для всех городов. 

 

Еще условие, если посетитель не из нужного города, ему должен быть показан виджет для всех городов.

Link to post
Share on other sites
  • 4 weeks later...

Подскажите пожалуйста. Задача - для Москвы и МО отобразить номер 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?

Edited by avorobyev
Link to post
Share on other sites

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

...

Как сделать так, чтобы в качестве ссылки было подставлено значение 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>
Link to post
Share on other sites
<a id="region-phone-href" href="#"><div id="region-phone"></div></a>

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

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

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

Link to post
Share on other sites

 

<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>
Edited by mishanya
Link to post
Share on other sites

 

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

 

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

<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>

 

Спасибо большое! Все номера отображаются.

Link to post
Share on other sites
  • 2 weeks later...

Добрый вечер! Спасибо за скрипт... бомба.

Подскажите, как вставить номер телефона в текст, но так, чтобы следующее слова не начиналась с новой строки?

Также интересует, как сделать город, регион, страна были на одной строке?

Заранее спасибо!

Link to post
Share on other sites

Добрый вечер! Спасибо за скрипт... бомба.


Подскажите, как вставить номер телефона в текст, но так, чтобы следующее слова не начиналась с новой строки?


Также интересует, как сделать город, регион, страна были на одной строке?


Заранее спасибо!

Link to post
Share on other sites

Чуть-чуть обучиться основам HTML, JS, JQuery.  Если нет возможности (желания, способностей или чего другого), то попросить спецов сделать за денежку... 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...