geolocation是Geolocation Work Group制定的标准,不过该组织已经从HTML5 Working Group中分离出来了。但是在本文中我还是打算介绍它的原因是geolocation是目前整个web发展的一部分。
检测浏览器是否支持Geolocation特性可以采用之前介绍过的检测方法中的第一种。如果你的浏览器支持Geolocation API的话,在全局的navigator对象上会有一个geolocation的属性,反之,该属性值为undefined
HTML 预览
- function supports_geolocation(){
- return !!navigator.geolocation;
- }
- function supports_geolocation(){
- return !!navigator.geolocation;
- }
同样的,如果你不想自己亲手去写这个检测方法的话,你可以使用Modernizr(1.1或者更近版本)来检测你的浏览器是否支持Geolocation API
HTML 预览
- if(Modernizr.geolocation){
- //let's find out where you are!
- } else {
- // no native geolocation support available
- // maybe try Gears or another third-party solution
- }
- if(Modernizr.geolocation){
- //let's find out where you are!
- } else {
- // no native geolocation support available
- // maybe try Gears or another third-party solution
- }
如果你的浏览器不原生支持Geolocation API的话,不要失望,因为还有Gears。Gears 是Google开发的兼容Windows, Mac, Linux, Windows Mobile和Android平台的开源浏览器插件。它为一些原生不支持本章节中介绍的某些新的特性早期的浏览器提供了第三方支持。其中一个提供支持的特性就是Geolocation API。尽管它和navigator.geolocation这个API不同,但是实现了同样的目的。