Тестирование на IE с PHP - PullRequest
       26

Тестирование на IE с PHP

1 голос
/ 08 февраля 2011

Я разрабатываю веб-страницу, которая будет использоваться в нескольких различных контекстах, и, хотя я обычно избегаю сниффинга в браузере и условных выражений любой ценой, на этот раз просто не обойтись.

I 'Я пробую простой метод, и я надеялся получить некоторую обратную связь о том, хорошая ли это идея или нет.

Я тестирую пользовательский агент, а затем отображаю класс в элементе в html (в моем случае, div) если пользовательский агент IE.

<?php echo (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'msie') !== FALSE) ? ('classforie') : (''); ?>

Тогда в моем css я делаю что-то вроде этого;

.classone { display: inline-block; }
.classone.classforie { zoom: 1; display: inline; }

Обратите внимание, чтоCSS не важная часть, я просто сделал это для примера.Мне просто интересно, хорошая ли это практика или нет?

Ответы [ 2 ]

5 голосов
/ 08 февраля 2011

Нет. Используйте условные комментарии . Обнаружение агента пользователя ненадежно.

1 голос
/ 08 февраля 2011
.classone.classforie { zoom: 1; display: inline; }

Определенно не работает в IE6.

Я обычно видел, как это делается - выводить класс в теге BODY.Я думаю, что могут быть некоторые проблемы с IE6 и классами в теге HTML.

Тогда у вас будет что-то вроде этого:

.msie .classone { zoom: 1; display: inline; }
...