質問

私は、ウェブサイトのモバイル版を開発しています。私は現在、検出し、ユーザーをリダイレクトするために、この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のバージョンは何(複数可)君たちは使用しましたか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top