Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP检测股票android浏览器?_Php_Android_Compatibility_Android Browser - Fatal编程技术网

用PHP检测股票android浏览器?

用PHP检测股票android浏览器?,php,android,compatibility,android-browser,Php,Android,Compatibility,Android Browser,正如你们中的许多人可能会遇到的那样,谢天谢地,Android 4.4中停止使用的股票型Android浏览器或多或少是现代IE6——充斥着漏洞,甚至在开发者中煽动自杀。因此,为特定于该浏览器的资源提供服务的需求很快成为一种必要,最好的方法是通过后端链接样式表/js。那么,使用PHP检测浏览器的傻瓜式方法是什么呢 谢天谢地,这很简单: //get the user agent string $ua = $_SERVER['HTTP_USER_AGENT']; //results array $ma

正如你们中的许多人可能会遇到的那样,谢天谢地,Android 4.4中停止使用的股票型Android浏览器或多或少是现代IE6——充斥着漏洞,甚至在开发者中煽动自杀。因此,为特定于该浏览器的资源提供服务的需求很快成为一种必要,最好的方法是通过后端链接样式表/js。那么,使用PHP检测浏览器的傻瓜式方法是什么呢

谢天谢地,这很简单:

//get the user agent string
$ua = $_SERVER['HTTP_USER_AGENT'];

//results array
$matches = [];

//perform regex query
preg_match ( '/Android.*AppleWebKit\/([\d.]+)/', $ua, $matches);

//Check if the regex query returned matches specific to 
//the android stock browser.
if( isset($matches[0]) && 

  //This is where we diffrentiate the stock browser from chrome, 
  //the default browser's webkit version never goes above 537
  ( isset($matches[1]) && intval($matches[1] < 537) ) ){
    echo 'Browsing via stock android browser';
}
//获取用户代理字符串
$ua=$\服务器['HTTP\用户\代理'];
//结果数组
$matches=[];
//执行正则表达式查询
preg_match('/Android.*AppleWebKit\/([\d.]+)/',$ua,$matches);
//检查正则表达式查询是否返回特定于
//android股票浏览器。
如果(isset($matches[0])&&
//这就是我们区别股票浏览器和chrome的地方,
//默认浏览器的webkit版本永远不会超过537
(isset($matches[1])&intval($matches[1]<537))){
echo“通过股票android浏览器浏览”;
}

请添加您的改进答案

虽然它可能不是完全防弹的一些边缘案件,从我在另一个SO线程阅读,我认为它将服务于它的目的很好,当谈到我自己的要求。股票浏览器无法使用
$.extend
处理jQuery插件。即使添加
try
块也会破坏脚本。所以别无选择,只能嗅出它并有条件地粘贴不同的脚本链接。不管怎样,第一个
isset($matches[0])
不是有点丰富吗?如果第二个在数组中,那么第一个肯定也在数组中。