2014-12-10 2 views
0

У меня есть функция на сайте, которая дает пользователю номер телефона ближайшего филиала магазина на основе их текущего местоположения через google-карты api.Установить cookie Javascript из разрешения на размещение Google?

Когда страница загружается в первый раз, браузер автоматически запрашивает у пользователя, хотят ли они поделиться своим местоположением. Все в порядке, за исключением того, что некоторые браузеры не обрабатывают его так же хорошо, как и другие, и постоянно спрашивают пользователя, когда он перемещается со страницы на страницу (номер на каждой странице).

Так есть способ, которым я могу установить cookie на основе погоды или нет, они дали разрешение и только отображают сообщение «этот сайт хотел бы использовать ваше текущее местоположение», если файл cookie истек, скажем, через месяц?

Это особенно плохо на смартфонах, он постоянно спрашивает.

ответ

1

Это скорее проблема, связанная с браузером, чем проблема с кодировкой. В браузерах, таких как Chrome, это вмешательство неизбежно. Он должен многое сделать с заботой о безопасности. Хакеры могут создать фальшивую веб-страницу для банковского сайта в качестве части фишинга и взлома пароля людей.

Большинство последних браузеров отключает скрытие панели местоположения, хотя в некоторых браузерах установка location = no отключит адресную строку от изменения.

Но с точки зрения кодирования у вас есть некоторые опции, некоторые из них перечислены ниже.

  • Вы можете использовать объект localStrorage, который сохраняется до бесконечности любых данных сохранены на компьютере пользователя и через вкладку браузера (похожую на печенье JavaScript). Вот демонстрационный код:

    <script type="text/javascript"> 
    var mydomstorage=window.localStorage || (window.globalStorage?globalStorage[location.hostname] : null) 
    if (mydomstorage){ 
    var i=(mydomstorage.pagecount)? parseInt(mydomstorage.pagecount)+1 : 1 
    document.write("You have visited this page <b>" + i + " </b> times altogether.") 
    mydomstorage.pagecount=i 
    } 
    else{ 
    document.write("<b>Your browser doesn't support DOM Storage unfortunately.</b>") 
    } 
    </script> 
    

Этот код работает на FF3 +, Chrome4 +, Safari4 +, Opera10.5 + или IE8 +

  • Если у вас есть окна выскакивают, что спросить за вы можете попробовать это простое решение, сделав window.open = null; на экземпляр, который отвечает за выбор местоположения.
Смежные вопросы