
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アプリのデザインガイドラインが素晴らしい