我在Firefox和IE中使用地理定位API有问题。每次加载页面时,浏览器都会显示一条消息,请求允许定义我的位置。因此,每次浏览网站页面时,我都必须按“我允许”。我们网站的用户抱怨这种情况,因为这很烦人。
有什么办法可以避免显示这个信息吗?也许我该再用一个地理定位API?
发布于 2013-10-14 11:45:07
这不是代码问题。是浏览器的问题。这取决于你需要你的位置.如果全球定位系统的移动应用程序,以下将不会有帮助。
我使用IP来确定位置,虽然这只对寻找‘国家’而不是城市本身是有用的……
我最近用PHP做了这件事。不过,使用完整的PHP需要在“GEOIP”上添加PHP
<?php
//Get users IP address
$ip = $_SERVER['REMOTE_ADDR']
//Get 2 letter country code from IP
$country = geoip_country_code_by_name('$ip');
//If successful...
if ($country) {
//Write the name of the country
echo 'This host is located in: ' . $country;
}?>
这将写两个字母的国家代码。更多信息,在这里http://www.php.net/manual/en/function.geoip-country-code-by-name.php
希望这对你有用,取决于你的目标是什么,这可能对你有帮助。
由于它并不总是成功的,所以如果无法恢复,设置一个“后备”默认位置是不值得的。
发布于 2013-10-14 11:26:52
不可能。这是给user's隐私政策.的
地理定位支持是可选的。这意味着浏览器将永远不会强迫您向远程服务器显示当前物理位置。用户体验因浏览器而异。
它被称为http://www.mozilla.org/en-US/firefox/geolocation/
来源于DiveIntoHTML5 Q:地理定位听起来很可怕。我能关机吗? A:当您谈论与远程web服务器共享物理位置时,隐私是一个显而易见的问题。地理定位API明确规定:“未经用户的明确许可,用户代理不得向网站发送位置信息。”换句话说,分享你的位置总是可以选择的。如果你不想那么做,你就不必这么做。
这在每种浏览器中都有不同的处理方式,但在理论上却很常见。
但是您可以使用现代派明智地处理它。
function get_location() {
if (Modernizr.geolocation) {
navigator.geolocation.getCurrentPosition(show_map);
} else {
// no native support; maybe try a fallback?
}
}
https://stackoverflow.com/questions/19359036
复制相似问题