Russian (CIS)
 
Как определить браузер IE с помощью PHP
13.12.2013 13:54

Все уже давно привыкли к тому, что браузер Internet Explorer отличается от своих сородичей.

Многим он не нравится. А некоторые его игнорируют.

Но в какой то момент времени приходится тестировать выполненную работу и на этом браузере.

После чего приходится подправлять код, чтобы он адекватно работал в IE.

А иногда просто необходимо, что бы в Internet Explorer страница работала по другой логике.

Как же определить браузер IE Internet Explorer?

Для определения браузера, на стороне сервера, использовалась переменная 

$_SERVER['HTTP_USER_AGENT']

которая содержала для IE9 -

"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"

найдя значение - "MSIE" мы могли сказать что это IE.

С выходом в свет IE11 все изменилось.

в переменной $_SERVER['HTTP_USER_AGENT'] теперь находится

"Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko"

  1. "MSIE" больше нет !!!
  2. Зато появилась "rv:11.0" - ревизия(версия) браузера
  3. так же есть "Trident" - название движка браузера доступен с версии IE8

Если в своих проектах Вы использовали только "MSIE" для определения IE, тогда для IE11 придется поправить код, например так:

if( strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')!==false || 
    strpos($_SERVER['HTTP_USER_AGENT'],'rv:11.0')!==false){
        echo "it browser internet explorer";
    }else{ 
    echo "this is not internet explorer"; 
}

пример работы ниже

this is not internet explorer

 

 
reload Загадки, Афоризмы

Легче всего создаются трудности

Посещаемость

Яндекс.Метрика