2

有没有办法使用 PHP 的 get_browser() 函数来区分 IE7 和 IE6?

4

5 回答 5

27

您可以这样做:

$browser = get_browser();

if($browser->browser == 'IE' && $browser->majorver == 6) {
    echo "IE6";
} elseif($browser->browser == 'IE' && $browser->majorver == 7) {
    echo "IE7";
}

快速查看官方get_browser()文档将回答您的问题。之前总是阅读文档。

于 2009-06-25T04:30:16.607 回答
4

我读到 get_browser() 是一个相对较慢的函数,所以我正在寻找更快的东西。此代码检查 MSIE 7.0,输出“Otay!” 如果真实。基本上和上一篇的答案一样,只是更简洁一些。相当简单的 if 语句:

<?php 
if(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0'))
    echo 'Otay!';
?>
于 2012-06-13T16:01:36.967 回答
3

下面是取自此处的完整示例。

$browser = get_browser();

switch ($browser->browser) {
    case "IE":
        switch ($browser->majorver) {
            case 7:
                echo '<link href="ie7.css" rel="stylesheet" type="text/css" />';
                break;
            case 6:
            case 5:
                echo '<link href="ie5plus.css" rel="stylesheet" type="text/css" />';
                break;
            default:
                echo '<link href="ieold.css" rel="stylesheet" type="text/css" />';
        }

        break;

    case "Firefox":
    case "Mozilla":
        echo '<link href="gecko.css" rel="stylesheet" type="text/css" />';
        break;

    case "Netscape":
        if ($browser->majorver < 5) {
            echo '<link href="nsold.css" rel="stylesheet" type="text/css" />';
        } else {
            echo '<link href="gecko.css" rel="stylesheet" type="text/css" />';
        }
        break;

    case "Safari":
    case "Konqueror":
        echo '<link href="gecko.css" rel="stylesheet" type="text/css" />';
        break;

    case "Opera":
        echo '<link href="opera.css" rel="stylesheet" type="text/css" />';
        break;

    default:
        echo '<link href="unknown.css" rel="stylesheet" type="text/css" />';
}
于 2009-06-25T04:30:39.163 回答
2

如果您的逻辑是决定要包含哪些样式表或脚本,那么可能值得采用条件注释的 HTML 路线:

<!--[if IE 6]>
According to the conditional comment this is Internet Explorer 6<br />
<![endif]-->
<!--[if IE 7]>
According to the conditional comment this is Internet Explorer 7<br />
<![endif]-->

这样你就可以绕过任何自定义浏览器字符串等。更多信息在QuirksMode

于 2009-06-25T08:21:34.417 回答
0

我为 PHP IE6 条件找到了一个不同的、非常简单的解决方案,我可以出于自己的目的对其进行编辑:

<?php  

// IE6 string from user_agent  
 $ie6 = "MSIE 6.0";  

// detect browser  
 $browser = $_SERVER['HTTP_USER_AGENT'];  

 // yank the version from the string  
 $browser = substr("$browser", 25, 8);  

 // if IE6 set the $alert   
 if($browser == $ie6){ 
      // put your code here    
 }  
 ?>  

完整的脚本可以在这里找到:

http://www.thatgrafix.com/php_detect/

于 2009-08-24T19:59:39.157 回答