如何使用PHP检测Mobile Safari服务器端?
-
06-07-2019 - |
题
Mobile Safari是一款功能非常强大的浏览器,它可以完美地处理我的网站。但是,我的页面上有一些元素可以针对使用此设备进行浏览进行优化;例如,提供小于桌面版本的特定缩略图,以帮助将更多内容放入屏幕。
我想知道如何使用PHP检测Mobile Safari(最好是所有版本),然后我可以提供a)特定的css文件和b)不同大小的图像缩略图。
解决方案
将用户代理字符串与Safari Mobile使用的字符串进行比较:
其他提示
感谢Joe,我读了那页,找到了 WebKit检测库(用JavaScript编写)。我更改了代码以满足我的需求。
对于任何有兴趣的人,这是我的解决方案。
<?php
/* detect Mobile Safari */
$browserAsString = 感谢Joe,我读了那页,找到了 WebKit检测库(用JavaScript编写)。我更改了代码以满足我的需求。
对于任何有兴趣的人,这是我的解决方案。
<*>SERVER['HTTP_USER_AGENT'];
if (strstr($browserAsString, " AppleWebKit/") && strstr($browserAsString, " Mobile/"))
{
$browserIsMobileSafari = true;
}
?>
<*>
这将为您提供用户代理字符串,您可以将其与移动版Safari进行比较。
P.S。 http://wurfl.sourceforge.net/ WURFL可以帮助您确定您想要的UA。
SERVER['HTTP_USER_AGENT']
这将为您提供用户代理字符串,您可以将其与移动版Safari进行比较。
P.S。 http://wurfl.sourceforge.net/ WURFL可以帮助您确定您想要的UA。
我发布了一种新模式来检测任何编程语言(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
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(&quot; / applewebkit / i&quot;,$ _SERVER ['HTTP_USER_AGENT'])&amp;&amp; preg_match(&quot; /(mobile | pre)/ i&quot;,$ _SERVER ['HTTP_USER_AGENT'])) 标题(“位置: http://simplefoodie.com/iphone/?carryover= ” ; .urlencode($ _ SERVER [REQUEST_URI]));
<?php
// detect Safari only!
$string = <*>SERVER['HTTP_USER_AGENT'];
if (strstr($string, " AppleWebKit/") && strstr($string, " Safari/") && !strstr($string, " CriOS"))
{
echo 'See in Safari only';
}
?>