Мне нужно обнаружить IE6, чтобы обойти отсутствие позиции: исправлено.Я использовал простое регулярное выражение:
var isIE6 = /msie|MSIE 6/.test(navigator.userAgent);
Это работает почти все время, за исключением пользователя, чей браузер утверждает, что оба IE6 и IE7:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.04506.30)
Glorious.
Я бы хотел использовать jquery.support , но похоже, что он не поддерживает запрос о доступности позиции: фиксированная.Итак, я вернулся к обнаружению IE6.
Существуют различные предлагаемые решения, такие как , ищущие существование maxHeight .Но они кажутся довольно случайными и пугают меня - если есть исключения из регулярного выражения выше, как я могу быть уверен, что нет никаких исключений для maxHeight?
Я думаю об использовании условных комментариев - таким образом, по крайней мере, этоСам IE будет претендовать на IE6, а не взломать.Что-то вроде:
<!--[if IE 6]>
<SCRIPT> var isIE6 = true; </SCRIPT>
<![endif]-->
В качестве альтернативы есть af unction, который непосредственно проверяет, доступно ли положение: fixed , но это кажется немного тяжелым.
По какой причине мой подход к условным комментариям не будет работать?Есть ли лучшие подходы?