jQuery / Prototype冲突:仅在webkit中,在bookmarklet中

时间:2011-02-01 07:56:33

标签: javascript jquery webkit bookmarklet conflict

我很可能遇到与此问题相同的问题:

Weird Chrome prototype/jQuery conflict

基本上看起来Prototype与Safari和Chrome中的jQuery相冲突。问题的解决方案是首先包含原型,但是我不能这样做:我在我的bookmarklet中使用了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' - 使用谷歌CDN的jQuery - 如果可能的话,将所有书签代码移动到框架中将非常困难,所以我宁愿不去那里。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我必须为客户端项目执行此操作,并遇到完全相同的问题。经过一些研究后,看起来1.4.2中不存在冲突,但是在1.4.3中(我不确定以后的版本)。我降级到1.4.2,我的书签现在适用于Prototype的页面。

第三条评论:

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

答案 1 :(得分:0)

我相信现在已经在jquery 1.5+中修复了....

相关问题