Mobile Safari is a very capable browser, and it can handle my website as it is perfectly. However, there are a few elements on my page that could be optimized for browsing u
I have published a new mode to detect devices in any programming language (JSP, PHP, Perl, Python.....), it's called Apache Mobile Filter is an Apache module (http://modules.apache.org/search.php?id=1787) that detect mobile device and also can adapt the images to the screen size of device.
For more info: http://www.idelfuschini.it/it/apache-mobile-filter-v2x.html
Thanks Joe, I read that page and found the WebKit detection library (in JavaScript). I changed the code to suit my needs.
For anyone that's interested, here's my solution.
<?php
/* detect Mobile Safari */
$browserAsString = $_SERVER['HTTP_USER_AGENT'];
if (strstr($browserAsString, " AppleWebKit/") && strstr($browserAsString, " Mobile/"))
{
$browserIsMobileSafari = true;
}
?>
$_SERVER['HTTP_USER_AGENT']
That will give you the user-agent string back which you can compare to mobile safari.
p.s. http://wurfl.sourceforge.net/ WURFL may help you determine which UAs you want.
<?php
// detect Safari only!
$string = $_SERVER['HTTP_USER_AGENT'];
if (strstr($string, " AppleWebKit/") && strstr($string, " Safari/") && !strstr($string, " CriOS"))
{
echo 'See in Safari only';
}
?>
Compare the user agent string with the one of a Safari Mobile uses:
Safari Mobile User Agent String
Mozilla/5.0 (webOS/1.0; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0 that is the browser for the palm Pre, and the word 'Mobile' is not there.
I am working on making my detect work fully with all newer capable browsers. After looking at the mytouch, G1, Palm Pre, droid and others, (but not all) I am now confident this is workable for all new phones:
if(preg_match("/applewebkit/i", $_SERVER['HTTP_USER_AGENT']) && preg_match("/(mobile|pre)/i", $_SERVER['HTTP_USER_AGENT'])) header("Location: http://simplefoodie.com/iphone/?carryover=".urlencode($_SERVER[REQUEST_URI]));