获取不使用 IP 地址的用户的当前国家/地区

Get current country of user not with the IP address

我试着解释一下我的问题:我网站的客户通常是游客,他们会提前从他们的国家或已经到达这里的最后一刻预订。为了向已经在这里的用户而不是在家的用户提供最后一分钟的优惠,我使用了一个 PHP 脚本,该脚本通过 IP 地址识别位置。

到目前为止没问题,只是许多通过移动 phone 网络(漫游)连接的用户的 IP 地址由其 phone 公司分配并位于其国家/地区,因此他们永远不会看到我想给他们看。

我已经考虑过插入一个脚本,要求通过他们的设备进行地理定位,但我想避免这种烦人的请求,许多人因为明显的隐私问题而不会接受这种请求。简而言之,让导航变得快速和愉快以鼓励信心总是很重要的。

大家有好的建议吗?

您可以试试地理定位 API。

举个例子...


if ("geolocation" in navigator) {
  navigator.geolocation.getCurrentPosition(function(position) {
     do_something(position.coords.latitude, position.coords.longitude);
   });
} else {
  /* geolocation IS NOT available */
}

参考自:https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API

根据网站点:https://www.sitepoint.com/browser-geolocation/该浏览器支持。

  • 火狐 3.5+
  • Chrome 5.0+
  • 野生动物园 5.0+
  • Opera 10.60+
  • Internet Explorer 9.0+