Html navigator.geolocation的可用性问题:如何知道用户是否被询问位置?
HTML的Html navigator.geolocation的可用性问题:如何知道用户是否被询问位置?,html,geolocation,Html,Geolocation,HTML的navigator.geolocation是否有“当前询问用户是否将共享其位置”的事件处理程序 我想显示一些文本,指示用户共享他们的位置,当且仅当他们实际被要求共享他们的位置时 目前我有这个代码,但它是坏的 第一次看起来很流畅,但第二次(当浏览器知道这是一个受信任的站点,因此不要求用户共享其位置时),“共享您的位置”在页面加载时快速闪烁,然后消失在地图后面 // map.js function gpsSuccess() { // We have a l
navigator.geolocation
是否有“当前询问用户是否将共享其位置”的事件处理程序
我想显示一些文本,指示用户共享他们的位置,当且仅当他们实际被要求共享他们的位置时
目前我有这个代码,但它是坏的
第一次看起来很流畅,但第二次(当浏览器知道这是一个受信任的站点,因此不要求用户共享其位置时),“共享您的位置”在页面加载时快速闪烁,然后消失在地图后面
// map.js
function gpsSuccess() {
// We have a location - although we don't know whether this is
// because the user has already agreed to share with this domain,
// or whether they have just this second been asked.
$('#sharelocation').hide();
// load map, etc
}
if (navigator.geolocation) {
watchId = navigator.geolocation.watchPosition(gpsSuccess, gpsFail);
}
// map.html
<div id="sharelocation">Share your location</div>
<div id="map" class="hidden"></div>
//map.js
函数gpssAccess(){
//我们有一个位置,虽然我们不知道这是否是
//因为用户已经同意与此域共享,
//或者他们是否就在这一秒被问到。
$('#sharelocation').hide();
//装载图等
}
if(导航器.地理位置){
watchId=navigator.geolocation.watchPosition(gpssucess,gpsFail);
}
//map.html
共享您的位置
<> P>在页面的正文中给用户一些指令的平滑方法,当且仅当它们实际上被要求共享它们的位置时, < P>除非发生失败回调,否则我不考虑显示“共享位置”消息。
function gpsFail() {
$('#sharelocation').show();
}
您可以在SealPosi定位块中包含一个消息,说明如何启用位置共享、您将如何处理这些信息等。 < P>除非发生失败回调,否则我不考虑显示“共享位置”消息。< /P>
function gpsFail() {
$('#sharelocation').show();
}
您可以在sharelocation块中包含一条消息,解释如何启用位置共享、如何处理信息等。听起来您可能只是因为getCurrentPosition和回调之间的短暂延迟而遇到了时间问题。如果你把演出推迟一秒钟左右怎么办?(我不知道特定于jquery的方法是什么)保留对任务的引用,以便在gpssAccess中可以使用它调用clearTimeout。听起来您可能只是因为getCurrentPosition和回调之间的短暂延迟而出现了时间问题。如果你把演出推迟一秒钟左右怎么办?(我不知道特定于jquery的方法是什么)保留对任务的引用,这样在GPSSucess中就可以调用clearTimeout了。恐怕这不起作用-至少在Chrome上,当浏览器仍在等待用户响应时,失败回调不会执行。恐怕这不起作用-至少在Chrome上是这样,浏览器仍在等待用户响应时,不会执行失败回调。