views:

129

answers:

4

I'm curious to know how to check for iPhone, iPad and other mobile browsers.(JavaScript or CSS)

Edit:

Not user agent string, please. That can be faked.

Possible Dupes:

+3  A: 

I would use WURFL. It's an Open Source xml-database of more than 10000 mobile devices that will detect (almost always) your Mobile Phone and Browser capabilities given the user-agent HTTP header value.

You will get information like:

  1. Screen size
  2. XHTML/HTML support level
  3. Graphic type support

Many others.

There are wrapper APIs for popular languages such as PHP, Java and .NET, so you won't have to deal with the XML database yourself.

Pablo Santa Cruz
A: 

Dupe of http://stackoverflow.com/questions/1005153/auto-detect-mobile-browser-via-user-agent and http://stackoverflow.com/questions/142273/standard-way-to-detect-mobile-browsers-in-a-web-application-based-on-the-http-req

DMan
This should be a comment. EDIT: Nice icon though.
Moshe
I posted this as an answer because, well, it does contain an answer at the links. Thanks for praising my hippo. :)
DMan
A: 

Use javascript to detect the HTTP User Agent - fancy term for name of the browser

OOProg
A: 

Basically you check the User Agent String

see http://www.hand-interactive.com/resources/detect-mobile-javascript.htm

Detect iPhone:

navigator.userAgent.toLowerCase().search("iphone") > -1

In general feature detection is better than browser detection it is better to know what the user's browser can do than what he's using. Modernizer is a good tool for that.

Adam
Will the above code work for iPad as well?
Moshe
@Moshe No. Change iPhone to iPad to detect iPad
Adam