jquery移动地理位置
Posted
技术标签:
【中文标题】jquery移动地理位置【英文标题】:jquery mobile geolocation 【发布时间】:2011-08-20 21:29:41 【问题描述】:简单的问题.. 如果用户选择不允许地理定位器弹出,我该如何设置重定向?如果我已经涵盖了允许和错误。工作正常。但我不确定如何设置不允许选择。
function showLocation(position)
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
//window.location = "/restaurant/latitude/40.714269/longitude/-74.005972/";
window.location = "/restaurant/";
function errorHandler(err)
if(err.code == 1)
alert("Error: Can not access!");
else if( err.code == 2)
alert("Error: Position is unavailable!");
function getLocation()
if(navigator.geolocation)
// timeout at 60000 milliseconds (60 seconds)
var options = timeout:60000;
navigator.geolocation.getCurrentPosition(showLocation, errorHandler, options);
else
alert("Sorry, browser does not support geolocation!");
【问题讨论】:
【参考方案1】:根据W3C Geolocation API spec,应该使用适当的失败原因调用错误处理程序。这包括用户拒绝的权限。
不幸的是,似乎有一个bug/feature in Firefox,如果您从弹出窗口中选择Not Now
,则什么也不会发生-不会调用错误处理程序。但是,如果您选择 Never Share
,则会调用您的错误处理程序,并且使用您发布的代码,您将看到警告说 Error: Can not access!
。
Chrome 中没有第三个选项(只有 Allow
和 Deny
),而且似乎一切正常。
另请参阅How to detect negative user response for geolocation,其中提出了解决方案(它涉及使用超时来检测没有发生任何事情并将其视为权限被拒绝)
【讨论】:
【参考方案2】:我看到您已尝试设置 window.location。为什么这对你不起作用?
window.location = "../nonGeoLocationPage.html"
【讨论】:
那行得通..我没有意识到 no access/error 1 实际上是不允许选择..以上是关于jquery移动地理位置的主要内容,如果未能解决你的问题,请参考以下文章
JS或者jquery做 一个div不随滚动条上下移动改变位置的效果,就是div始终保持在浏览器的一个位置,不用css