-1

处理基于浏览器主体类的简码。我设置它的方式适用于除 MSIE 之外的所有浏览器。这不是完整的条件语句,但我已将问题隔离到此。MSIE 无法解决这个问题:

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

如果您将 msie 更改为 firefox 或我的任何其他浏览器类,它就可以工作。但是对于 MSIE,它不会返回或呼应任何东西。

具体来说,IE10 正在发生这种情况。还没有测试过低。A vardumpof$classes产生了,其中包括:string(9) "msie ie10"

4

1 回答 1

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;
    }
}
于 2013-10-01T19:31:14.937 回答