调用body类在MSIE中不起作用

时间:2013-10-01 19:17:29

标签: php wordpress class browser

根据浏览器正文类处理短代码。我设置它的方式是在除MSIE之外的每个浏览器中工作。这不是完整的条件声明,但我已将问题分解为此。 MSIE无法超越这个:

$classes = get_body_class();
if (in_array('msie',$classes)){
    echo 'MSIE';
}

如果你将msie更改为firefox或我的任何其他浏览器类,它都有效。但是对于MSIE来说,它并没有回归或回应任何东西。

IE10具体发生了这种情况。尚未测试过低。 vardump生成了$classes string(9) "msie ie10",其中包括:{{1}}

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;
    }
}