11

ネイティブのAndroidブラウザ(すべてのAndroid携帯にインストールされているブラウザ)をjavascriptで検出したいと思います。

useragentで何を探すべきですか?

4

4 に答える 4

15

これは機能するはずです。

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));
于 2013-10-23T14:29:47.843 に答える
8

ネイティブブラウザでは、上記のコードを使用して、最初はそれ自体を検出できませんでした。

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));

願わくば、それはあなたにも役立つでしょう... :)

于 2015-01-23T13:59:06.410 に答える
3

さまざまなユーザーエージェント文字列の概要については、このページを参照してください。

于 2013-02-05T07:17:52.703 に答える
-3

次のようなものを試してください。

var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
  // Do something
}

また

このURLを確認してください:http: //davidwalsh.name/detect-android

于 2013-02-05T07:17:12.157 に答える