4

我有这段代码来检测用户是否正在使用 IE 浏览器,但是我想检测它是 ie 10 还是低于 ie 10 的版本

<?php
    $u_agent = $_SERVER['HTTP_USER_AGENT'];
    if(preg_match('/MSIE/i',$u_agent)){
       //do something
       //HOW TO KNOW IS IE 10
       // HOW TO KNOW BROWSER VERSION IS LESS THAN IE 10?
    }else{
       //hope users would always use other browser than IE 
    } 

    ?>

那是正确的吗?

 <?php
        $u_agent = $_SERVER['HTTP_USER_AGENT'];
        //IE
        if(preg_match('/MSIE/i',$u_agent)){

           //IE 10
           if(preg_match('/msie 10/i', $_SERVER['HTTP_USER_AGENT'])) {
                     //  DO IE10.
           // < IE 10
           }else{
                     //  DO < IE10.
           } 

        }else{
           //OTHER BROWSERS 
           //hope users would always use other browser than IE 
        } 

        ?>
4

3 回答 3

13

这可能会帮助您:

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

 if(preg_match('/(?i)msie [10]/',$_SERVER['HTTP_USER_AGENT']))
{
    // if IE = 10
   echo "version is IE 10"; //rest of your code
}
else
{
    // if not 10
     echo "version is not 10"; //rest of your code
}
 ?>

在这里演示>>

编辑: 分为3种情况:

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

 if(preg_match('/(?i)msie [1-9]/',$_SERVER['HTTP_USER_AGENT']))
{
    // if IE <= 10
   echo "version is less than 10"; //rest of your code
} else  if(preg_match('/(?i)msie [10]/',$_SERVER['HTTP_USER_AGENT']))
{
    // if IE = 10
   echo "version is IE 10"; //rest of your code
}
else
{
    // if not 10
     echo " other browser"; //rest of your code

}
 ?>

在这里演示>>

于 2013-05-10T04:05:44.513 回答
3

HTTP_USER_AGENT您可以轻松地在服务器变量中检查 IE 。

if(preg_match('/msie [2-10]/i', $_SERVER['HTTP_USER_AGENT'])) {
    // This user is using IE2 - IE10.
} else {
    // Using something else.
}

如果要专门针对 IE10,可以使用:

if(preg_match('/msie 10/i', $_SERVER['HTTP_USER_AGENT'])) {
    // This user is using IE10.
} else {
    // Using something else.
}
于 2013-05-10T04:02:20.903 回答
0

您还可以检查 Trident 字符串:

Trident/4* = Internet Explorer 8
Trident/5* = Internet Explorer 9
Trident/6* = Internet Explorer 10
Trident/7* = Internet Explorer 11
Edge/* = Edge

所以对于 SVG 动画检查我可以做:

$IE = preg_match('/Trident\//i',$_SERVER['HTTP_USER_AGENT']);

您需要的所有参考资料都在这里:-

https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/compatibility/ms537503(v=vs.85)

于 2019-04-03T09:56:34.297 回答