基于HTML5地理位置开发之如何检测浏览器是否支持Geolocation特性

geolocation是Geolocation Work Group制定的标准,不过该组织已经从HTML5 Working Group中分离出来了。但是在本文中我还是打算介绍它的原因是geolocation是目前整个web发展的一部分。

Geolocation特性能够识别出你在地理位置并且如果你愿意的话,你可以把你的位置信息分享给别人。识别你地理位置的方法有很多——可以通过你的ip地址,利用信号塔获取你手机无线的连入位置,或者通过能够利用卫星定位获得经度纬度的GPS设备。
 
检测浏览器是否支持Geolocation特性可以采用之前介绍过的检测方法中的第一种。如果你的浏览器支持Geolocation API的话,在全局的navigator对象上会有一个geolocation的属性,反之,该属性值为undefined

HTML 预览

  1. function supports_geolocation(){      
  2.     return !!navigator.geolocation;      
  3. }     
  4. function supports_geolocation(){    
  5.     return !!navigator.geolocation;    
  6. }
同样的,如果你不想自己亲手去写这个检测方法的话,你可以使用Modernizr(1.1或者更近版本)来检测你的浏览器是否支持Geolocation API
 

HTML 预览

  1. if(Modernizr.geolocation){      
  2.     //let's find out where you are!      
  3. else {      
  4.     // no native geolocation support available      
  5.     // maybe try Gears or another third-party solution      
  6. }     
  7. if(Modernizr.geolocation){    
  8.     //let's find out where you are!    
  9. else {    
  10.     // no native geolocation support available    
  11.     // maybe try Gears or another third-party solution    
  12. }    
如果你的浏览器不原生支持Geolocation API的话,不要失望,因为还有Gears。Gears 是Google开发的兼容Windows, Mac, Linux, Windows Mobile和Android平台的开源浏览器插件。它为一些原生不支持本章节中介绍的某些新的特性早期的浏览器提供了第三方支持。其中一个提供支持的特性就是Geolocation API。尽管它和navigator.geolocation这个API不同,但是实现了同样的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值