有没有办法用JavaScript检查客户端浏览器是否支持GEO-URI-scheme?
我想将不支持的浏览器的坐标显示为地图的链接
<a href='http://osm.org/#map=18/52.51627/13.37769'>Berlin</a>
以及支持的浏览器(如智能手机)作为其本机应用的链接。
<a href='geo:52.51627,13.37769'>Berlin</a>
答案 0 :(得分:6)
不,没有。无论geo
协议是否可用,都取决于浏览器,而不是底层操作系统。 Android的浏览器不知道它是否可以支持它,它询问子系统是否有geo
URI的处理程序,如果是,则打开它。知道系统支持自定义uri的唯一方法是尝试打开链接,看看它是否有效。如果没有完全打断用户,就无法自动执行此操作。
最好的方法就是Apple的maps.apple.com。他们使用服务器端UA嗅探将maps.apple.com重定向到可用的最佳站点。
尝试在任何特立独行的浏览器上转到http://maps.apple.com/?q=cupertino将导致他们向maps://
网址发送302(Maps.app应用的自定义URI)。 iOS设备也是如此。如果它是无法识别的浏览器,它将重定向到相应的maps.google.com地址,因为它们没有自己的地图网络存在。