根据浏览器正文类处理短代码。我设置它的方式是在除MSIE之外的每个浏览器中工作。这不是完整的条件声明,但我已将问题分解为此。 MSIE无法超越这个:
$classes = get_body_class();
if (in_array('msie',$classes)){
echo 'MSIE';
}
如果你将msie更改为firefox或我的任何其他浏览器类,它都有效。但是对于MSIE来说,它并没有回归或回应任何东西。
IE10具体发生了这种情况。尚未测试过低。 vardump
生成了$classes
string(9) "msie ie10"
,其中包括:{{1}}
答案 0 :(得分:2)
in_array()
不进行部分匹配。因此,如果值为msie ie10
,您所拥有的代码将无法找到它,您需要执行此操作:
$classes = get_body_class();
if (in_array('msie ie10',$classes)){
echo 'MSIE';
}
如果要进行部分匹配,另一个选项是使用foreach循环。
$classes = get_body_class();
foreach($classes as $class) {
if(strpos($class,'msie') !== false) {
echo 'MSIE';
break;
}
}