Androidのエミュレータブラウザ検出
-
20-09-2019 - |
質問
私は、ウェブサイトのモバイル版を開発しています。私は現在、検出し、ユーザーをリダイレクトするために、このJavascriptを使用しています:
if((navigator.userAgent.match(/iPhone/i)) ||
(navigator.userAgent.match(/Android/i)) ||
(navigator.userAgent.match(/iPod/i)))
{
window.location = "http://sitename.com/m/";
}
iPhoneやiPodが、アンドロイドとなしの成功と正常に動作します。私は、Eclipse内のAndroidエミュレータを使用しています。私は実際にそれをテストするためのAndroidのガジェットを持っていません。
私が何か間違ったことをやっていますか?同じ問題を持つ誰ですか?
解決
あなたはをlocation.replace の代わりにをwindow.locationのの
使用する必要があります
例:
if( (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/Android/i)) || (navigator.userAgent.match(/iPod/i)) ) {
location.replace("http://sitename.com/m/");
}
私はこのコードを使用し、それはiphone / itouchのとAndroid携帯電話/デバイス上で動作します。
他のヒント
ここでAndroidデバイスを検出するために、鉱山JavaScript関数は、次のとおりです。
function isAndroid() {
var ua = navigator.userAgent;
return ua.match(/Android/)
|| ua.match(/Dalvik/)
|| ua.match(/GINGERBREAD/)
|| ua.match(/Linux;.*Mobile Safari/)
|| ua.match(/Linux 1\..*AppleWebKit/)
};
window.locationのは、Androidで動作しませんか?本当に?アンドロイド2.3.4に私のためにうまく動作するように表示されます。あなたが正常にブラウザに新しいURLをロードするwindow.locationのを得ることができませんでしたどこのAndroidのバージョンは何(複数可)君たちは使用しましたか?
所属していません StackOverflow