С недавнего времени у меня на Клавогонках у некоторых пользователей начались проблемы совершенно мистического плана — не работали функции, которые ну никак не могли не работать, всплывали абсолютно дикого вида ошибки и гейзенбаги. Долго и мучительно пытаясь выяснить в чем проблема, и не без помощи сообразительных юзеров я обнаружил, что последняя версия Download Master (довольно популярная программа), выпущенная вроде бы где-то в ноябре, содержит удивительнейший Firefox-плагин, который ставится в браузер автоматически. Плагин этот зовется Download Master Plugin 1.2 и его удивительность заключается в том, что он подгружает в глобальное javascript-пространство страницы библиотеку jQuery целиком как она есть. По-настоящему подгружает, со всеми функциями, и (внимание!) с функцией $(). Тем самым, разумеется, ломая аналогичную функцию из Прототайпа.
Тест кейс:
Без плагина алерт выдает, понятное дело, undefined. А со включенным плагином — function.
Я не знаю, как такая светлая мысль могла прийти в голову разработчикам этого плагина, но так как пофиксенной версии до сих пор нет (хотя проблема обсуждалась еще в ноябре), все что остается — делать проверку на основе вышеозначенного кода и заставлять пользователей выключать плагин, иначе совсем ничего не работает.
UPD: Исправленная версия плагина — www.westbyte.com/test/dmaster-ff.xpi
Тест кейс:
<html>
<body>
<script type="text/javascript">
setTimeout(function(){
alert(typeof jQuery);
}, 5000);
</script>
</body>
</html>
Без плагина алерт выдает, понятное дело, undefined. А со включенным плагином — function.
Я не знаю, как такая светлая мысль могла прийти в голову разработчикам этого плагина, но так как пофиксенной версии до сих пор нет (хотя проблема обсуждалась еще в ноябре), все что остается — делать проверку на основе вышеозначенного кода и заставлять пользователей выключать плагин, иначе совсем ничего не работает.
UPD: Исправленная версия плагина — www.westbyte.com/test/dmaster-ff.xpi