Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Конфликт jQuery/Prototype: только в webkit, в букмарклете

Автор вопроса: Phil_Ken_SebbenОтветов: 2

У меня, скорее всего, та же проблема, что и в этом вопросе:

Странный прототип Chrome/конфликт jQuery

В основном кажется, что Prototype конфликтует с jQuery в Safari и Chrome. Решение в вопросе заключалось в том, чтобы сначала включить прототип, однако я не могу этого сделать: я использую jQuery, загруженный в мой букмарклет, поэтому на некоторых сайтах, на которых он используется, всегда будет уже загружен прототип. Теперь давайте пока отвлечемся от мудрости использования jQuery в букмарклете. Мне кажется, что здесь должно быть решение (хотя я его не могу найти) по следующим причинам:

1) Этот конфликт вообще не возникает в Firefox. 2) Хотя в вопросе, указанном выше, цитируется страница, на которой указано, что сначала следует включить jQuery, я больше не нахожу там эту ссылку. Так может он не актуален?

Пример ошибки: после загрузки jQuery (например, вы можете проверить его версию -1.4.4), если вы попробуете в консоли firebug:

jQuery('p:')
#yields =>  []
#or
jQuery('p:first')
# yields => TypeError: Object #<an Object> has no method 'find'

Некоторые другие примечания: - Я пробовал noConflict(). Похоже, это вообще не работает.
 - Я никогда не ссылаюсь на "$" в своем коде, а использую только "jQuery" - Использование jQuery из Google CDN - Переместить весь код букмарклета во фрейм было бы очень сложно. , если это вообще возможно, так что я бы предпочел туда не ходить.

Спасибо за вашу помощь!

  • Есть ли шанс, что вы могли бы показать код? polarblau 03.02.2011

javascriptconflictjquerywebkitbookmarklet

Ответы

Ответ 1 · rdeshpande

Мне пришлось сделать это для клиентского проекта, и я столкнулся с той же проблемой. После некоторых исследований оказалось, что конфликта нет в 1.4.2, но есть в 1.4.3 (я не уверен в более поздних версиях). Я понизил версию до 1.4.2, и мой букмарклет теперь работает на страницах с Prototype.

Третий комментарий здесь:

http://forum.jquery.com/topic/jquery-conflicts-with-prototype-and-the-fix

Ответ 2 · Phil_Ken_Sebben

Я считаю, что теперь это исправлено в jquery 1.5+ ....

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы