次のスクリプトを使用して、ブラウザーが iOS 5 以上であるかどうかを検出しようとしています (この SO スレッドDetect iOS version less than 5 with JavaScriptから)。
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 が失敗します。
誰かがこれを修正する方法をアドバイスできますか?? ありがとうございました。