2010-09-12 62 views
3

如果且仅当访问者来自某个国家,我想运行一段代码,这是否可能,我该如何去做这件事?如果访问者来自某个国家,是否可以运行代码

+0

这可以使用像PHP这样的服务器端语言。如果你可以使用PHP,看看http://stackoverflow.com/questions/1998497/country-name-from-an-ip-address-with-free-ip-geolocation-webservice – 2010-09-12 19:25:23

+1

甚至不清楚“访客是什么来自某个国家“的意思。他的系统/浏览器的语言环境设置为特定的国家/地区?他的IP号码是在特定国家注册的?他的护照说他出生在特定的国家? – 2010-09-12 19:29:12

+2

显然这意味着他从某个国家访问该网站,因此他的IP地址... – David 2010-09-12 19:31:24

回答

1

这是不可能有任何把握,但也有几件事情,可以向原籍访问者的国家可以作为提示:

  • Accept-Language HTTP头告诉你(如果存在的话)的语言用户更喜欢看到 - 当然用户可以将其设置为任何他们想要的,而语言不会将1:1映射到国家/地区。
  • 还有一些Javascript objects告诉你用户的浏览器和操作系统使用哪种语言;与上述相同的警告。
  • 您可以使用多个IP Geolocation服务来从用户的IP地址派生地理位置。但是这些有时候不会产生任何结果或错误的结果,我不确定它们中的任何一个是否可以自由使用。
+1

关于第1点和第2点,我会说语言很少映射1:1(我不确定是否有一个例子)。他们不仅地图非常糟糕,人们将最肯定会以他们喜欢的语言使用导航器和操作系统,所以使用中文作为其语言的中国人目前不一定在中国。 – Shautieh 2010-09-12 19:44:56

+0

接受语言除了选择语言信息外没有任何用处 - 即使对于可以分配给单个国家/地区的语言,很多人仍然将浏览器设置为英语,因为英语接口往往质量更好或者更多特征。 – Tgr 2010-09-12 19:47:23

+0

@Shautieh:日语会是一个例子。至于人们的环境,尊重他们通常是一个好主意。当然,我们不知道大卫真正想做什么,但很少有比讨好的网站更烦人的事情,例如,尽管你是中国人,但却使用中文浏览器和操作系统向你展示法文版,只是因为你碰巧正在去法国出差。 – 2010-09-12 20:43:07

0

如果您能够检测到用户语言/国家/地区服务器端,则可以将此信息作为JavaScript中的变量进行分配,以便您可以运行特定功能。更多的东西?

相关问题