【问题标题】:Display flag according to Browser region根据浏览器区域显示标志
【发布时间】:2011-03-07 15:30:39
【问题描述】:

在我的网站顶部,我想要一个标志来显示代表用户区域,即浏览器区域。

有人知道如何实现这一目标吗?

感谢您的任何想法/建议

编辑:经过一番混淆,我说的是位置而不是语言。

【问题讨论】:

  • 什么是浏览器区域?你是说地理位置吗?
  • 您是指访问者的国家还是浏览器语言?
  • 是的。所以如果有人从中国访问,它会显示中国国旗、英国、英国国旗等
  • IP to country?的可能重复
  • 没有“浏览器区域”之类的东西。只有浏览器语言不能很好地表明他们所在的地区/国家。请参阅我的答案以找到他们所在地区/国家/地区的解决方案。

标签: php javascript html regions


【解决方案1】:

使用MaxMind GeoLite Country API 确定用户所在的国家/地区。他们还提供了PHP module,这应该会让您更轻松。

获得用户所在国家/地区后,您需要将其映射到国旗。这是一个免费的旗帜图标集:http://www.famfamfam.com/lab/icons/flags/

集成细节:

$gi = geoip_open('GeoIP.dat', GEOIP_MEMORY_CACHE);
$country = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
geoip_close($gi);

echo '<img src="' . $country . '.png">';

您需要阅读 PHP 模块,但这是有关如何输出带有国家/地区代码的图像标签的快速代码。

【讨论】:

  • 这就是问题所在,如何将其映射到标志?
  • MaxMind API 返回一个国家代码,并且该标志图标集使用相同的国家代码作为其文件名。我用更多细节编辑了我的答案。希望这会有所帮助。
  • @swalk 这可行吗:jsfiddle.net/simevidas/eKkAT?我的警报框显示 HR 是正确的(我在克罗地亚)。它也适合你吗?
  • @swalk Neat :) 我不知道它这么简单。奇怪的是为什么 Google 不提供这样的服务。
【解决方案2】:

infodb 提供免费的地理定位服务 - 或您自己滚动所需的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    相关资源
    最近更新 更多