添加当前用户使用的浏览器信息到 Body 标签的 CSS 类中

我在之前的一篇文章中,介绍了[WordPress 判断用户浏览器的全局变量和判断IE浏览器版本的方法](https://en.wpcio.com/the-global-variables-to-definitely-user-browser/)%EF%BC%8C%E4%B8%BA%E4%BA%86%E6%96%B9%E4%BE%BF%E5%9C%A8WordPress%E4%B8%BB%E9%A2%98%E5%BC%80%E5%8F%91%E7%9A%84%E6%97%B6%E5%80%99%E4%BD%BF%E7%94%A8%EF%BC%8C%E6%88%91%E6%8A%8A%E8%BF%99%E4%B8%AA%E6%96%B9%E6%B3%95%E5%86%99%E6%88%90%E4%BA%86%E5%87%BD%E6%95%B0%EF%BC%8C%E7%9B%B4%E6%8E%A5%E6%8A%8A%E5%BD%93%E5%89%8D%E7%94%A8%E6%88%B7%E4%BD%BF%E7%94%A8%E7%9A%84%E6%B5%8F%E8%A7%88%E5%99%A8%E4%BF%A1%E6%81%AF%E5%86%99%E9%81%93%E4%BA%86body%E7%9A%84css%E7%B1%BB%E4%B8%AD%E3%80%82

怎么把当前用户使用的浏览器版本写道body的css类

把下面的代码加入到当前主题的functions.php文件中即可

function wizhi_browser_body_class( $classes ) {
    global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone;

    if($is_lynx) $classes[] = 'lynx';
    elseif($is_gecko) $classes[] = 'gecko';
    elseif($is_opera) $classes[] = 'opera';
    elseif($is_NS4) $classes[] = 'ns4';
    elseif($is_safari) $classes[] = 'safari';
    elseif($is_chrome) $classes[] = 'chrome';
    elseif($is_IE) {
        $browser = $_SERVER['HTTP_USER_AGENT'];
        $browser = substr( "$browser", 25, 8);
        if ($browser == "MSIE 7.0"  ) {
            $classes[] = 'ie7';
            $classes[] = 'ie';
        } elseif ($browser == "MSIE 6.0" ) {
            $classes[] = 'ie6';
            $classes[] = 'ie';
        } elseif ($browser == "MSIE 8.0" ) {
            $classes[] = 'ie8';
            $classes[] = 'ie';
        } elseif ($browser == "MSIE 9.0" ) {
            $classes[] = 'ie9';
            $classes[] = 'ie';
        } else {
            $classes[] = 'ie';
        }
    }
    else $classes[] = 'unknown';

    if( $is_iphone ) $classes[] = 'iphone';

    return $classes;
}
add_filter( 'body_class', 'wizhi_browser_body_class' );

body中有了当前浏览器的css类,在写css的时候,我们可以这样写,来解决一些兼容性问题,或针对某个浏览器写一些特殊的样式。

.ie6 .tips{display:inline}
.chrome .tips{color:#333;} 

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *