javascript - 每次用户重新加载页面时,让 html5 地理定位请求许可

标签 javascript html browser geolocation

为什么我们需要:

我们网站上有一些页面允许用户输入一些数据并搜索他们所在地区的其他客户。当用户打开该页面时,必须显示弹出消息

http://foo.bar.com would like to use your current location.

之后用户可以放弃并手动填写位置字段或接受并自动重定向到结果页面。

问题:

问题是,当用户第一次选择任何提到的选项时,浏览器会记住它并且下次不会询问。因此,当用户接受它时,每次他打开搜索页面时,它都会自动将他重定向到结果页面,而无需询问任何内容。

代码:

我们正在使用基本的 html5 地理定位代码

if (navigator.geolocation) {
   navigator.geolocation.getCurrentPosition(LocationMethod);
} 

结论:

我很确定更改浏览器原生的权限是不可能的。但我希望有人能很好地解决这个问题。谢谢。

最佳答案

一旦用户点击拒绝/允许,浏览器就会记住网站的这个决定。

避免拒绝的最佳方法是仅在用户单击意味着他想使用其位置的内容时调用 getCurrentPosition(...)。然后他可能会很乐意分享它:)

一个很好的例子是在 foursquare 网站上。输入后,它会让您转到某个城市的 map ,只有点击 map 上的“使用我的位置”按钮,它才会提示您输入。

如果您被拒绝定位,您还可以显示一条信息消息,其中包含“您过去曾拒绝为该站点提供定位服务,请启用它做 bla bla bla”。并用任何东西填充 bla bla bla。

关于javascript - 每次用户重新加载页面时,让 html5 地理定位请求许可,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16353909/

相关文章:

css - 我如何在 CSS 中使用自定义字体

javascript - 动态添加时不显示 facebook 社交插件

javascript - 从移动 HTML Body 调用 Javascript 函数 onorientationchange

javascript - 窗口调整大小事件上的响应式 Canvas

javascript - Angular 变量设置为 HTML src 属性的值,向服务器发送不必要的请求

javascript - 防止意外的后退浏览

javascript - 将光标位置添加到 Sublime Text 3 中的代码段

javascript - 按国家/地区代码隐藏 div

javascript - Array.apply(null, obj) 的原理是什么?

html - <a href =""> 不工作