Март 15, 2008
WP CodeBox и Prototype
Решение, позволяющее совместно использовать на одном сайте плагин WP Codebox и известную библиотеку Prototype
Намедни пришлось заставлять работать скрипт, использующий библиотеку Prototype, на сайте с WordPress, где стоял плагин WP CodeBox (ранее я уже писал о нём). Сразу обратил внимание, что всё работало как-то криво, выскакивала куча непонятных ошибок. Лишь позже, просмотрев весь JavaScript, я понял, в чём была проблема.
В файле /wp-content/plugins/wp-codebox/js/codebox.js есть три магические строчки:
[-]
View Code Javascript
function $(id) {
return document.getElementById(id);
}
return document.getElementById(id);
}
Эта функция конфликтует с одноимённой функцией из Prototype (причём последняя имеет гораздо больше возможностей). Решается всё просто:
[-]
View Code Javascript
if ('undefined' == typeof $) {
function $(id) {
return document.getElementById(id);
}
}
function $(id) {
return document.getElementById(id);
}
}
Жаль только, что на поиски бага ушло много времени…