Sha*_*lor 10 javascript google-maps ios6 ios6-maps
因此,映射链接打开地图应用程序就像以前一样,我想根据用户是在iOS 6还是其他(iOS 4,5,Android,等等)呈现不同的链接.
类似于: - 如果在iOS 6.0或更高版本上,请显示http://maps.apple.com?q= "地址",如果是其他,则显示http://maps.google.com?q= "地址".
注意:我意识到你也可以直接调用地图应用程序,而不是通过网络链接(现在没有方便),但这不会解决问题,因为Android或较小的iOS上的某些人将无法使用那.
Dav*_*ing 16
您可以使用navigator.userAgent字符串检测iOS版本.就像是:
if(/(iPhone|iPad|iPod)\sOS\s6/.test(navigator.userAgent)) {
// use apple maps
}
Run Code Online (Sandbox Code Playgroud)
请注意,这绝不是未来证据,用户代理字符串可以更改,操作系统也是如此.此外,AFAIK,谷歌地图通过浏览器可在所有平台上使用,包括iOS 6.
这里有一些JS来确定iOS和Android OS版本.不需要jQuery.
使用iOS 4.3到6.0.1和Android 2.3.4到4.2的实际用户代理字符串进行测试
var userOS; // will either be iOS, Android or unknown
var userOSver; // this is a string, use Number(userOSver) to convert
function getOS( )
{
var ua = navigator.userAgent;
var uaindex;
// determine OS
if ( ua.match(/iPad/i) || ua.match(/iPod/i) || ua.match(/iPhone/i) )
{
userOS = 'iOS';
uaindex = ua.indexOf( 'OS ' );
}
else if ( ua.match(/Android/i) )
{
userOS = 'Android';
uaindex = ua.indexOf( 'Android ' );
}
else
{
userOS = 'unknown';
}
// determine version
if ( userOS === 'iOS' && uaindex > -1 )
{
userOSver = ua.substr( uaindex + 3, 3 ).replace( '_', '.' );
}
else if ( userOS === 'Android' && uaindex > -1 )
{
userOSver = ua.substr( uaindex + 8, 3 );
}
else
{
userOSver = 'unknown';
}
}
Run Code Online (Sandbox Code Playgroud)
然后要检测特定版本和更高版本,请尝试:
if ( userOS === 'iOS' && Number( userOSver.charAt(0) ) >= 5 ) { ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17278 次 |
| 最近记录: |