Is there an easy way to determine which hemisphere a user is in?(有没有一种简单的方法可以确定用户在哪个半球?)
问题描述
我正在开展一个包含季节性内容的项目,我们正在考虑确定用户的位置,以确定适合他们的季节.这样做的明显方法是对他们的 IP 进行地理定位,然后获取纬度.> 0 是北半球,<0 是南方.
I'm working on a project which includes seasonal content, and we're thinking of determining the user's location to work out what season it is for them. The obvious way of doing this is to Geo-locate their IP, then grab the latitude. > 0 is Northern hemisphere, and < 0 is Southern.
我很高兴这样做 - 虽然将 IP 精确定位到确切位置似乎有点浪费,只是为了确定它们在地球的哪一半 - 但我想我会扔掉它以防万一有人有任何可能缩短流程的技巧.
I'm happy to go that way - though it seems a bit of a waste to pinpoint an IP to an exact location, just to determine which half of the planet they're on - but I thought I'd throw it out there in case anyone has any tricks which might shortcut the process.
请求标头,可以在客户端用 JS 提取的东西,很容易获得 - 我只是认为它没有任何帮助.
Request headers, stuff that can be extracted with JS on the client, it's all easy enough to get - I just don't think any of it helps.
推荐答案
我先看看客户的时钟——如果客户的日历中存在夏令时,你可以判断他是在赤道以北还是以南.
I'd first check the client's clock- if daylight savings exists in the client's calendar, you can tell if he is north or south of the equator.
如果没有dst信息,可以使用geolocation,
if there is no dst information, you can use geolocation,
或者询问用户是否在赤道以南...
or ask the user if he is south of the equator...
window.whatHemisphere= (function(){
var y= new Date().getFullYear();
if(y.getTimezoneOffset()==undefined) return null;
var jan= -(new Date(y, 0, 1, 0, 0, 0, 0).getTimezoneOffset()),
jul= -(new Date(y, 6, 1, 0, 0, 0, 0).getTimezoneOffset()),
diff= jan-jul;
if(diff> 0) return 'N';
if(diff< 0) return 'S'
return null;
})()
这篇关于有没有一种简单的方法可以确定用户在哪个半球?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:有没有一种简单的方法可以确定用户在哪个半球?


- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- Flexslider 箭头未正确显示 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07