
iPhone/iPadのiOSバージョンをJavaScriptで判別する
参考元: iOSのバージョンを判定する
上記を参考に、iPhoneのみ対応していたのをiPadに対応。
例として、iOS6以上とiOS5以前でCSSを分ける場合。
※正味な話、<input type=”file” /> 周りが主な対応。
var ua = navigator.userAgent;
if(/iPhone/.test(ua)) {
ua.match(/iPhone OS (\w+){1,3}/g);
var iosv=(RegExp.$1.replace(/_/g, '')+'00').slice(0,3);
if(iosv >= 600) {
//iPhone iOS6 Over
document.write('');
} else {
//iPhone iOS6 Under
document.write('');
}
} else if(/iPad/.test(ua)) {
ua.match(/CPU OS (\w+){1,3}/g);
var iosv=(RegExp.$1.replace(/_/g, '')+'00').slice(0,3);
if(iosv >= 600) {
//iPad iOS6 Over
document.write('');
} else {
//iPad iOS6 Under
document.write('');
}
}
解説
基本的に参考元の記事と同内容ではありますが
- UA中からまずiPhoneかiPadかを判別。
- UA内の「OS 6_0_1」といった箇所を抜き出し、「601」といった3桁に変換。
※「5_2」 など2桁になりうる場合は「520」と3桁になるようゼロ詰め。 - バージョン数を見て数値以上・未満で振り分け。
筆者について
- ゲームとジョジョを愛するファミッ子世代。好きな言葉は「機能美」。
公私ともにWebサービスを作る系男子。
最近の投稿
運用2017.03.03nginxのkusanagiにLet’sEncryptをかけてるとiOSで表示されない問題の解決
運用2016.07.22分かりにくい「クリエイティブコモンズ」をシンプルに言うと
WordPress2016.07.12新しいWordPress「Calypso」を試した
Design2016.03.09Win10アプリのデザインガイドラインが素晴らしい