У меня, скорее всего, та же проблема, что и в этом вопросе:
Странный прототип Chrome / конфликт jQuery
Похоже, что Prototype конфликтует с jQuery в Safari и Chrome. Решение вопроса заключалось в том, чтобы сначала включить прототип, однако я не могу этого сделать: я использую jQuery, загруженный в мой букмарклет, и поэтому на некоторых сайтах, на которых он используется, Prototype уже загружен. Теперь давайте на минуту проигнорируем мудрость использования 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
- Переместить весь код букмарклета во фрейм будет очень сложно, если вообще возможно, поэтому я бы предпочел не идти туда.
Спасибо за вашу помощь!