I'm developing a mobile version of a website. I'm currently using this Javascript to detect and redirect the user:
if((navigator.userAgent.match(/iPhone/i)) ||
(navigator.userAgent.match(/Android/i)) ||
(navigator.userAgent.match(/iPod/i)))
{
window.location = "http://sitename.com/m/";
}
Works fine with iPhone and iPod, but no success with Android. I'm using the Android Emulator within Eclipse. I don't have an Android gadget to actually test it.
Am I doing something wrong? Anyone having the same issue?
There is no official API in iOS or Android to detect an emulator.
Emulator detection is the ability to tell when your application is running on an emulator rather than a real device, but why would you want to do this?
BlueStacks is arguably the most popular Android emulator for its super-fast speed and lag-free gaming experience. The company has recently rolled out the public beta of BlueStacks X which is browser-based.
You should use location.replace instead of window.location
Example:
if( (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/Android/i)) || (navigator.userAgent.match(/iPod/i)) ) {
location.replace("http://sitename.com/m/");
}
I used this code and it works on iphone/itouch and android phones/devices.
Here is mine JavaScript function to detect Android device:
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/)
};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With