История вопроса началась тут, когда свеже-написанный скрипт вдруг почему-то не заработал у читателей. Я потратил 2 часа пока перебрал скрипт на локальной машине. Честно говоря первых пол часа я потерял из-за своей собственной тупости, я забыл что flowplayer работает тока с сервера, сука. Все это время я отлаживал в фаербаге, в том числе и на сайте где скрипт и так работал, это была роковая ошибка. Потом я как-то начал дебажить в Opera через Dragonfly и о чудо, заметил строку которая меня повергла в полный ахуй.
Uncaught exception: TypeError: 'jQuery("#videoDialog").dialog' is not a function
Error thrown at line 3, column 1 in ($) in http://mabp.kiev.ua/content/examples/flowplayer.js:
var player = $f("player",
called from line 19, column 41125 in () in http://mabp.kiev.ua/wp-includes/js/jquery/jquery.js?ver=1.3.2:
this.call(document,o)
called via Function.prototype.call() from line 12, column 15654 in (G, K, F) in http://mabp.kiev.ua/wp-includes/js/jquery/jquery.js?ver=1.3.2:
for(var J=G[0];H() in http://mabp.kiev.ua/wp-includes/js/jquery/jquery.js?ver=1.3.2:
o.each(o.readyList,function(){this.call(document,o)});
called from line 19, column 41621 in () in http://mabp.kiev.ua/wp-includes/js/jquery/jquery.js?ver=1.3.2:
o.ready()
Сначала я воспользовался Бритвой Хэнлона и подумал что у меня не загрузился jQuery IU. Попробовал загрузить руками — не вышло. Перебрал все скрипты на сайте по очереди отключая все. Хуй!
Перечитал ошибку еще раз и понял что меня наебали: какой-то наглый, говнокодистый, плагин подключает на сайт jquery.js?ver=1.3.2 из админки. Я просто брызнул лучами поноса во все стороны от такой наглости. Еще буквально пол часа и гадкий, богомерзкий плагин Google Analytics for WordPress был вычислен.
Код был закомментирован а плагин публично обосран в блоге и наступило счастье.
//line 67
wp_enqueue_script('jquery');
// line 1280+
function track_comment_form_head() {
if (is_singular()) {
global $post;
$yoast_ga_options = get_option('Yoast_Google_Analytics');
if ( yoast_ga_do_tracking() && $yoast_ga_options["trackcommentform"] && ('open' == $post->comment_status) )
wp_enqueue_script('jquery');
}
}
add_action('wp_print_scripts','track_comment_form_head');
Для тех кто не понял почему у меня работало в FF — я был залогинен под админом, а админу подключать этот скрипт не надо.
Авторы этой хуеты, если вы читаете этот наполненный гневом и ненавистью пост подумайте о следующем: не все на свете тупые обезьяны тыкающие карандашиком в клавиатуру, некоторые уже подключили себе jQuery, если уж сильно приспичило его использовать, побеспокойтесь что бы проверить может он уже есть, и если он слишком старый подгрузите новый аккуратно в замыкании используя noConflict чтобы не попортить людям сайт.