ネイティブのAndroidブラウザ(すべてのAndroid携帯にインストールされているブラウザ)をjavascriptで検出したいと思います。
useragentで何を探すべきですか?
ネイティブのAndroidブラウザ(すべてのAndroid携帯にインストールされているブラウザ)をjavascriptで検出したいと思います。
useragentで何を探すべきですか?
これは機能するはずです。
var nua = navigator.userAgent;
var is_android = ((nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1) && !(nua.indexOf('Chrome') > -1));
ネイティブブラウザでは、上記のコードを使用して、最初はそれ自体を検出できませんでした。
var nua = navigator.userAgent;
var is_android = ((nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1) && !(nua.indexOf('Chrome') > -1));
ほとんどのデバイスについては、Chromeブラウザのユーザーエージェントとして次のものを入手しました。
およびネイティブブラウザの場合:
そして、Samsung Galaxy S3、htc Desire、AsusZenfone5に対してこの観測を実行しました。
そして、バージョンとともに「Chrome /30.0.0.0」または「chrome/」がZenfone5、SamsungGalaxys3を含むほとんどのデバイスに存在することがわかりました。しかし、「バージョン/」はありません。ユーザーエージェントオブジェクトに存在することは、ネイティブとChromeを区別するのに十分すぎるほどです。
次のコードを使用しました。
var ua = navigator.userAgent;
var is_native_android = ((ua.indexOf('Mozilla/5.0') > -1 && ua.indexOf('Android ') > -1 && ua.indexOf('AppleWebKit') > -1) && (ua.indexOf('Version') > -1));
願わくば、それはあなたにも役立つでしょう... :)
さまざまなユーザーエージェント文字列の概要については、このページを参照してください。
次のようなものを試してください。
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
// Do something
}
また
このURLを確認してください:http: //davidwalsh.name/detect-android