В IE7 это фильтр s , а в IE6 это фильтр.
Код ниже возвращает:
- 'непрозрачность', если поддерживается style.opacity
- «фильтр» для MS-фильтра (IE <7) </li>
- «фильтры» для фильтров MS (IE7)
- «нет» для всего остального
.
var opacityType=(
(typeof o.style.opacity !== 'undefined') ? 'opacity' :
/*@cc_on @if (@_jscript)
(typeof o.filters === 'object') ? 'filters' :
(typeof o.filter === 'string') ? 'filter' :
@end @*/
'none'
);
@ cc_on , @ if и @ _ jscript используются в условном комментарии , который поддерживает только IE.
Я проверял это на FF3, IE6, IE7, Opera9 и Chrome 1, но не на IE4,5 или 8.
Согласно quirksmode MS изменила CSS с filter на -ms-filter , поэтому я не знаю, какой результат вы получите с IE8.
Согласно mozilla непрозрачность поддерживается начиная с FF 0.9, Opera 9 и Safari 1.2 и filter начиная с IE4.
Мне не нравится анализировать браузер, но иногда это необходимо, и условные комментарии значительно упрощают обработку определенных вещей в IE.