【问题标题】:PHP - how to determine whether the visitor users imperial or metric units?PHP - 如何确定访问者用户是英制还是公制单位?
【发布时间】:2014-07-14 07:22:01
【问题描述】:

我正在编写一个简单的单页网络应用程序/计算器。它可以在公制和英制单位之间切换。

然而,我想做的是为用户预先选择(可能)正确的选项以改善用户体验。

我想知道如何确定用户使用的单位。我可以确定他们的timezone,但是我找不到任何timezone 到单位转换数组。

如何解决这个问题?

【问题讨论】:

  • 没有自动转换,因为时区与用户使用的单位制无关。旧的帝国制度不受地理宽度(时区)的约束,而是受历史发展的约束。只有没有转向更现代、更合乎逻辑和更高效的系统的国家仍在使用它。所以你必须使用一个目录,而不是一个公式来预测用户所在的国家,而不是他的时区。可能有一个目录,但由于只剩下几个国家使用公制系统,所以自己建立一个应该很容易。
  • 它也可以是个人选择,在英国,有些人喜欢英尺和英寸,而另一些人喜欢米等。它通常基于年龄。试图预测是没有意义的。

标签: php timezone units-of-measurement


【解决方案1】:

时区并不一定意味着您位于使用英制的国家之一。
很少有国家(其中 3 个,缅甸、利比里亚和美国(我猜在某种程度上也是英国..)),所以最好的办法是检查用户来自哪个国家。

查看以下链接以获取有关如何从 IP 获取国家/地区名称的一些信息,这是我个人会这样做的方式。 Getting visitors country from their IP
然后只需检查用户是否来自三个国家之一。

【讨论】:

  • 请注意,美国实际上并不使用英制单位,它使用的US Imperial 通常与standard Imperial 不同,特别是对于流体度量......en.wikipedia.org/wiki/…
  • 如果IP用于检测对用户设置有影响的国家,我经常发现它会降低网站和webapp的使用体验。
【解决方案2】:

您可以通过询问访客来做到这一点。大多数访问者足够聪明,可以选择其中任何一个系统,但并非所有人都愿意并且懒得不选择。

因此,如果您想有所不同,就必须要求访问者有所不同。

但是,我会以稍微不同且技术含量较低的方式来解决这个问题:首先,我会选择我认为更好的那个。然后我会等待投诉(或者只是一般的反馈,以作为我决定的基础——这实际上是按照上面的建议询问访问者是否关注我)。

只是推迟变化,先做第一件事。

【讨论】:

  • 如果您希望用户尽可能多地使用您的网站,那么为您的用户预先检查/预先选择/预先填写值并没有错。
  • @RichardRodriguez:没有。但是我会为用户决定,所以应用程序有一些设计和架构,它知道出于非技术原因什么对用户更好。
猜你喜欢
  • 2011-10-24
  • 1970-01-01
  • 2016-07-04
  • 2011-02-24
  • 2020-01-30
  • 2017-02-10
  • 2011-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多