1

我正在为 Concret 5 做一个主题,但我不确定 Concrete 5 中是否已经有类似的解决方案来解决我的问题。

我想将用户的浏览器名称附加到我的后面,<body>以便稍后通过 css 定位它们

示例 PHP 应如何将名称呈现给我的 body 标记。

<body class="ie5" >
or
<body class="safari" >

稍后我将使用的 CSS 示例

body.ie div#id { background: #ccc }
body.safari div#id { font-size: 15px; }
4

4 回答 4

3

根据您之前未提出的其他要求

用于获取所有浏览器的名称

        $u_agent = $_SERVER['HTTP_USER_AGENT'];
        $ub = '';
        if(preg_match('/MSIE/i',$u_agent))
        {
            $ub = "Internet Explorer";
        }
        elseif(preg_match('/Firefox/i',$u_agent))
        {
            $ub = "Mozilla Firefox";
        }
        elseif(preg_match('/Safari/i',$u_agent))
        {
            $ub = "Apple Safari";
        }
        elseif(preg_match('/Chrome/i',$u_agent))
        {
            $ub = "Google Chrome";
        }
        elseif(preg_match('/Flock/i',$u_agent))
         {
            $ub = "Flock";
        }
        elseif(preg_match('/Opera/i',$u_agent))
        {
            $ub = "Opera";
        }
        elseif(preg_match('/Netscape/i',$u_agent))
        {
            $ub = "Netscape";
        }

现在您可以显示浏览器名称

<body class="'. $ub ." >
于 2012-05-02T07:56:25.290 回答
1
$u_agent = $_SERVER['HTTP_USER_AGENT']; // get the current browser name


// for safari 
if(preg_match('/Safari/i',$u_agent)) // then check if the browser is safari 
        {
           echo "body.safari div#id { font-size: 15px; }"; // then apply your class here

        }

// for IE
if(preg_match('/MSIE/i',$u_agent))
        {
            echo "body.ie div#id { background: #ccc }";
        }
于 2012-05-02T07:05:17.457 回答
0

您可以使用变量$_SERVER['HTTP_USER_AGENT']

http://php.net/manual/en/reserved.variables.server.php

<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>

Firefox 的示例值为:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

于 2012-05-02T07:06:10.150 回答
0
<?php $agent=$_SERVER['HTTP_USER_AGENT']?>

然后在 HTML 中:

<html>
    <head>
    </head>
    <body class="<?php echo $agent?>">
    </body>
</html>

然后只需CSS为每个浏览器名称/类型设置您的

于 2012-05-02T07:17:26.277 回答