Более развернуто: не используйте определение возможностей браузера по его имени, движку и прочей номенклатуре. Проверяйте то, что хотите использовать.
Например:
if (document.addEventListener) /* ... */ else if (document.attachEvent) /* ... */ else /* ... */
Казалось бы, можно проще: раз IE, значит,
attachEvent
, иначе
addEventListener
. Но в IE9 уже есть поддержка
addEventListener
, и вот тут нестыковка, вроде, и IE, а, вроде и нужое умеет.
Или, к примеру, Вы подключаете библиотеку XPath на IE, а другой скрипт не хочет ее использовать, мотивируя это тем, что не может же быть XPath в IE!