我试图使用以下脚本来检测浏览器是否为iOS 5或更高版本(从此线程Detect iOS version less than 5 with JavaScript)。使用JavaScript检测iOS 5或更高版本
function iOSversion() {
if (/iP(hone|od|ad)/.test(navigator.platform)) {
var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
return [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];
}
}
ver = iOSversion();
if (ver[0] >= 5) {
alert('This is running iOS 5 or later.');
} else {
alert('This is NOT running iOS 5 or later.');
}
它的工作原理的iOS 5或更高版本,因为它应该,但在任何其他浏览器,它产生以下错误:
Uncaught TypeError: Cannot read property '0' of undefined
然后这个剧本下的所有的JavaScript失败。
请有人建议我如何解决这个问题?谢谢。
可能对'的typeof版本=“undefined'',而不是依赖于'如果(VER)' – luqmaan
完美,谢谢你一个更好的主意!我知道这是我错过的简单事情。我正在使用它来应用位置:固定到可以处理它的移动浏览器。在这种情况下,UA嗅探对于特征检测是必要的,因为大多数移动浏览器支持固定位置,但是许多以非常多的方式进行。再次感谢您的快速回答。 – user2586455