Mobile Safari是一款功能非常强大的浏览器,它可以完美地处理我的网站。但是,我的页面上有一些元素可以针对使用此设备进行浏览进行优化;例如,提供小于桌面版本的特定缩略图,以帮助将更多内容放入屏幕。
我想知道如何使用PHP检测Mobile Safari(最好是所有版本),然后我可以提供a)特定的css文件和b)不同大小的图像缩略图。
答案 0 :(得分:7)
感谢Joe,我阅读了该页面并找到了WebKit detection library(在JavaScript中)。我更改了代码以满足我的需求。
对于任何有兴趣的人,这是我的解决方案。
<?php
/* detect Mobile Safari */
$browserAsString = $_SERVER['HTTP_USER_AGENT'];
if (strstr($browserAsString, " AppleWebKit/") && strstr($browserAsString, " Mobile/"))
{
$browserIsMobileSafari = true;
}
?>
答案 1 :(得分:4)
将用户代理字符串与Safari Mobile使用的字符串进行比较:
答案 2 :(得分:3)
$_SERVER['HTTP_USER_AGENT']
这将为您提供用户代理字符串,您可以将其与移动版Safari进行比较。
P.S。 http://wurfl.sourceforge.net/ WURFL可以帮助您确定您想要的UA。
答案 3 :(得分:0)
我已经发布了一种新的模式来检测任何编程语言(JSP,PHP,Perl,Python ......)中的设备,它被称为Apache Mobile Filter是一个Apache模块(http://modules.apache.org/search.php?id=1787),用于检测移动设备设备,也可以使图像适应设备的屏幕尺寸。
了解更多信息:http://www.idelfuschini.it/it/apache-mobile-filter-v2x.html
答案 4 :(得分:0)
Mozilla / 5.0(webOS / 1.0; U; en-US)AppleWebKit / 525.27.1(KHTML,与Gecko一样)版本/ 1.0 Safari / 525.27.1 Pre / 1.0即Palm的浏览器Pre,以及“移动”这个词不存在。
我正在努力使我的检测功能完全适用于所有新功能的浏览器。在看了mytouch,G1,Palm Pre,droid和其他人之后,(但不是全部),我现在相信这对所有新手机都是可行的:
if(preg_match(“/ applewebkit / i”,$ _SERVER ['HTTP_USER_AGENT'])&amp;&amp; preg_match(“/(mobile | pre)/ i”,$ _SERVER ['HTTP_USER_AGENT'])) 标题(“位置:http://simplefoodie.com/iphone/?carryover=”。urlencode($ _ SERVER [REQUEST_URI]));
答案 5 :(得分:0)
<?php
// detect Safari only!
$string = $_SERVER['HTTP_USER_AGENT'];
if (strstr($string, " AppleWebKit/") && strstr($string, " Safari/") && !strstr($string, " CriOS"))
{
echo 'See in Safari only';
}
?>