一体化IE条件函数

时间:2014-03-07 23:25:38

标签: arrays internet-explorer if-statement

尝试创建和“一体化”IE条件函数。

我非常希望能够做到以下几点:

  1. 如果没有传递变量,那么一般检查IE
  2. 传递1个IE版本并检查
  3. 传递一系列版本并检查其中任何一个版本
  4. 我在检查IE的多个版本的最后一部分时遇到了问题。例如,如果我只想定位IE版本7和8。

    function is_ie( $versions = '' ) {
    
        if( $versions == '' ) {
            if ( isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE' ) !== false)
                return true;
        }
    
        $versions = ( is_array($versions) ) ? $versions : array($versions);
        $operand = '';
    
        foreach( $versions as $version ) {
            if ( isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE ' . $version . '.' ) !== false) {
                $operand = true; break;
            }
        }
    
        return ($operand) ? true : false;
    
    }
    

    此外,使用此功能是否有牺牲性能?说我在整个网站上使用过几次。想知道我是否应该设置某种类型的GLOBAL变量并检查它?

0 个答案:

没有答案