JavaScript 的时区作为定位用户所在国家/地区的一种方式

问题描述 投票:0回答:2

我需要确定用户所在的国家/地区,并且不需要非常准确(90% 的时间正确可能就足够了)。我意识到 JavaScript 返回的时区可以工作。

示例:

console.log(Intl.DateTimeFormat().resolvedOptions().timeZone);

将返回

America/Toronto
America/New_York
,这可以帮助我区分加拿大人和美国人。

当然,我明白这是基于用户的偏好,而不是其真实位置。但是使用这种技术是否存在我现在没有看到的巨大陷阱?

javascript geolocation timezone
2个回答
2
投票

经过一些研究,事实证明这取决于场景(是可以预测的)。对于我的场景,美国人 95% 以上的时间都能获得正确的时区,而加拿大人 90% 以上的时间都能获得正确的时区。

测试这一点的方法是将用户的 JS 时区保存在我们的 Google Analytics 中,然后将其与他们的位置进行比较。

所以您的里程可能会有所不同,但对于我的用例来说,这已经足够了。


0
投票

您可以选中此项来确定用户的国家/地区,而无需使用任何 IP,仅根据用户的计算机时区:在 JavaScript 中根据时区获取用户的国家/地区

© www.soinside.com 2019 - 2024. All rights reserved.