questionは、iPhone 4ユーザエージェントとiOS 5.0ユーザエージェントについてSOの質問を受けました。iPhone 5とその下のiOSデバイスを検出する
私は以下を使用して、さまざまなモバイルデバイス、ビューポート、および画面を検出します。
iPhone 5と他のすべてのiOSデバイスを区別したいと思います。私が知る限り、iOS 5.0ユーザーエージェントvar iPhone5
を検出するために使用している行は、iOS 5.0を実行しているすべてのiOSデバイスにも適用されるため、技術的に間違っています。
var pixelRatio = window.devicePixelRatio || 1;
var viewport = {
width: window.innerWidth,
height: window.innerHeight
};
var screen = {
width: window.screen.availWidth * pixelRatio,
height: window.screen.availHeight * pixelRatio
};
var iPhone = /iPhone/i.test(navigator.userAgent);
var iPhone4 = (iPhone && pixelRatio == 2);
var iPhone5 = /iPhone OS 5_0/i.test(navigator.userAgent); // ?
var iPad = /iPad/i.test(navigator.userAgent);
var android = /android/i.test(navigator.userAgent);
var webos = /hpwos/i.test(navigator.userAgent);
var iOS = iPhone || iPad;
var mobile = iOS || android || webos;
window.devicePixelRatio
デバイス上の物理的な画素と、デバイスに依存しない画素(ディップ)との比です。 window.devicePixelRatio
=物理ピクセル/ディップ。
詳細情報here。
あなたは、画面のオブジェクトに基づいて検出されないのはなぜ
@nhahtdh:まあ、それはないiPhone 5は覚えているのiOS 5.0ユーザーエージェントだ、のiOS 5.0は、iPhone 5を含む任意のiOSデバイス上で実行することができ、しかし、私は思いますiPhone 4とiPhone 5を区別するのが好きです。 – fuzz
@nhahtdh:なぜあなたはコメントしてから投票を終了するのですか?また、理由を与えるために気をつけますか? – fuzz
あなたが尋ねていることを注意深く読まなくても、ひどい反応でした。 – nhahtdh