1

У кого-нибудь есть опыт использования Closure js lib и Mootools на той же странице?Совместимы ли библиотеки Mootools и Google Closure?

Конфликты или работы в порядке?

+1

Google Closure библиотека имеет серьезные проблемы совместимости (среди других начинающих ошибок JS) –

+1

@Martinho Фернандеса: Вы можете уточнить? –

ответ

1

Согласно Google:

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

(http://code.google.com/closure/library/docs/introduction.html)

Так не должно быть никаких конфликтов, и я проверил документацию по API и она подтверждает мои выводы, к примеру, для манипуляции массива вы должны пройти через пространство имен Google (GOOG):

goog.array.binaryInsert(array, value, opt_compareFn) ⇒ 
boolean 

(http://closure-library.googlecode.com/svn/trunk/closure/goog/docs/closure_goog_array_array.js.html) Это в отличие от MooTools расширением самого массива класса.

Cheers, Роман

+0

спасибо - способ расширения MooTools означает, что они были бы несовместимы с Closure lib тогда? – rutherford

+0

он может быть несовместим ни с чем, если не закодирован тщательно. во многом зависит от того, как вы структурируете код. если прототип массива был изменен, и вы перечислили массив без этого, вы могли бы также получить итерации прототипов ... iirc была некоторая критика закрытия автором Рафаэля, чтобы сделать это с отсутствием проверок hasOwnProperty в таких итерациях ... так что имейте это в виду. –

+0

Я бы просто использовал код обхода массива MooTools ($ each()), не будет реальной причиной использовать библиотеку google, в первую очередь, я полагаю. сказав, что у меня не было проблем с другими большими библиотеками (OpenLayers) при использовании MooTools, поэтому все это в хорошем вкусе! – 2009-11-22 22:49:42