2010-06-14 2 views
0

Я хочу использовать библиотеку mootools для создания анимации & ajax в виджет, который я создаю.совместимость при использовании библиотеки mootools в виджетах?

Я планирую, чтобы виджет записывал себя на страницу, чтобы конечный пользователь только разворачивал одну строку javascript.

Я обеспокоен проблемами совместимости, которые могут возникнуть, если мой виджет используется на странице, которая уже использует другую библиотеку.

короткие тесты показывают проблемы, даже если они включены в самостоятельную исполняемую функцию, если сценарий уже загружен, хотя jquery, похоже, не вызывает проблемы.

Какое это лучшее решение?

Есть ли способ загрузить mootools в изоляции, поэтому я могу использовать его только для моих целей?

Я вижу, что jquery, хотя и незнакомый мне, сильно расшифрован и, вероятно, более подходит для этой задачи, использовал бы это, чтобы облегчить любые потенциальные проблемы?

Могу ли я просто скопировать и вставить mootools в свою собственную функцию выполнения?

nb: при использовании с прототипом возникает следующая ошибка при использовании метода setStyle mootool.

element.style is undefined

element.style.cssText += ';' + styles;

ответ

1

Существует не метод использовать MooTools. Разработчики специально заявили, что они не собираются использовать пространство имен mootools для запуска вдоль стороннего прототипа, и они выкалывают любые попытки изменить основное ядро ​​(см. 1).

Вам действительно лучше использовать либо jQuery, либо другую библиотеку с расширением имен (я считаю, что Dojo и YUI есть, но я могу ошибаться), или если вам не нужны накладные расходы, просто создайте свои собственные в старости -fashion JS.

  1. https://mootools.lighthouseapp.com/projects/2706/tickets/219-mootools-namespace
1

вы не можете "пространства имен" MooTools. это прототипная библиотека. вы, кажется, указываете, что вы пытаетесь использовать его в сочетании с prototype, который является STILL прототипической библиотекой на момент написания статьи (там говорилось о том, что они уходят от нее).

в основном 2 таких каркаса рядом друг с другом будут иметь совершенно непредсказуемые результаты, нет никаких гарантий того, какой метод библиотеки будет иметь приоритет для любого из прототипов, которые они меняют.

mootools может сосуществовать с jquery или любой другой библиотекой, которая является функциональной. он также ищет все, что уже определяет $, и если он недоступен (скажем, потому что $ === jQuery), он возвращается обратно к использованию document.id().

Если ваша страница уже использует scriptaculous, вам следует делать эффекты, используя это (в идеальном мире).следующая лучшая-вещь, вы можете попробовать jquery но это противно ради простого виджета (или любой 2 рамки)

BTW, AddThis виджетов, используемые для хранения MooTools некоторое время назад, и она не нарушала ни одной страницы его поэтому я полагаю, что это выполнимо. к сожалению, для вас они, похоже, переехали в свой собственный ваниль lib сейчас ...

Смежные вопросы