Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.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 如何在Wordpress中添加条件浏览器类?_Php_Wordpress_Browser_Cross Browser - Fatal编程技术网

Php 如何在Wordpress中添加条件浏览器类?

Php 如何在Wordpress中添加条件浏览器类?,php,wordpress,browser,cross-browser,Php,Wordpress,Browser,Cross Browser,我注意到Wordpress站点在标记中有与浏览器检测相关的类(如果我使用Firefox,html标记将有一个.Firefox类,甚至是一个版本检测到的.firefox16类,等等)。例如。 这是一个默认的Wordpress函数,比如body\u class(),还是我必须创建一个?我该怎么做呢?可能是。如果你包括它注入那些依赖于浏览器功能的类,等等。当你检查加载的脚本时,看起来像是一个Typekit插件。不幸的是,我没有发现默认的Wordpress浏览器检测类或函数。然而,我通过查看代码片段找到

我注意到Wordpress站点在
标记中有与浏览器检测相关的类(如果我使用Firefox,html标记将有一个.Firefox类,甚至是一个版本检测到的.firefox16类,等等)。例如。
这是一个默认的Wordpress函数,比如
body\u class()
,还是我必须创建一个?我该怎么做呢?

可能是。如果你包括它注入那些依赖于浏览器功能的类,等等。

当你检查加载的脚本时,看起来像是一个Typekit插件。

不幸的是,我没有发现默认的Wordpress浏览器检测类或函数。然而,我通过查看代码片段找到了一个简单的答案。我只是修改了代码以返回一些基本浏览器,并将其添加到functions.php文件中

//return a conditional browser string
function browser_detect(){
    $iphone = stripos($_SERVER['HTTP_USER_AGENT'],"iPhone");
    $firefox = stripos($_SERVER['HTTP_USER_AGENT'],"Firefox");
    $safari = stripos($_SERVER['HTTP_USER_AGENT'],"Safari");
    $ie = stripos($_SERVER['HTTP_USER_AGENT'],"MSIE");
    $opera = stripos($_SERVER['HTTP_USER_AGENT'],"Opera");
    $chrome = stripos($_SERVER['HTTP_USER_AGENT'],"Chrome");
    //detecting device 
    if ($iphone == true){
                echo "iphone";
    }
    elseif($firefox == true){
                echo "firefox";
    }
    elseif($ie == true){
                echo "explorer";
    }
    elseif($chrome == true){
                echo "chrome";
    }
    elseif($safari == true){
                echo "safari";
    }
    elseif($opera == true){
                echo "opera";
    }
    else{
        echo "unknown";
    }
};
然后,我将该函数添加到我的html标记中

<html class="<?php browser_detect(); ?>">

我不知道Modernizer在标记中添加了类。无论如何,我提供的示例站点甚至没有安装Modernizer。看起来它正在使用某种php来实现这一点。然而,那个网站是一个非常糟糕的例子。看看所有的JS错误!抱歉,但是我不明白JavaScript错误与这个问题有什么关系;我想就是这样,你说得对。我注意到Thematic提供了这个功能。它们的函数位于一个名为dynamic-classes.php的文件中,不幸的是,将它们的功能添加到自定义主题的方法很复杂。您能否引用指向具有该函数的插件的链接?这可能会有帮助。