我目前正在使用以下代码来检查用户正在运行的iOS版本,但它有一个小问题,如果该版本的第3位数字没有添加句点,那么当我检查时它在运行iOS 9.0.1的设备上返回9.01,我无法弄清楚如何修复下面的内容,在第二个和第三个数字之间添加一个句点。任何帮助表示赞赏:)
<body>
<button onclick="myFunction()">Detect</button>
<p id="demo"></p>
<script>
function myFunction(){
var iOS = parseFloat(
('' + (/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent) || [0,''])[1])
.replace('undefined', '3_2').replace('_', '.').replace('_', '')
) || false;
alert(iOS)
}
</script>
</body>
答案 0 :(得分:2)
你可以使用这个人提到的JQuery。哪个适用于我的iOS 10 Beta。
否则你可以试试这个
function iOSVersion() {
if(window.MSStream){
// There is some iOS in Windows Phone...
// https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx
return false;
}
var match = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/),
version;
if (match !== undefined && match !== null) {
version = [
parseInt(match[1], 10),
parseInt(match[2], 10),
parseInt(match[3] || 0, 10)
];
return parseFloat(version.join('.'));
}
return false;
}
答案 1 :(得分:0)