【问题标题】:jQuery / Prototype conflict: only in webkit, in bookmarkletjQuery / Prototype 冲突:仅在 webkit 中,在书签中
【发布时间】:2011-02-01 07:56:32
【问题描述】:

我很可能和这个问题有同样的问题:

Weird Chrome prototype/jQuery conflict

基本上,在 Safari 和 Chrome 中,Prototype 似乎与 jQuery 冲突。问题中的解决方案是首先包含原型,但是我不能这样做:我正在使用在我的书签中加载的 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'

其他一些注意事项: - 我试过没有冲突()。这似乎根本不起作用。
-我从不在我的代码中引用'$',而只使用'jQuery' - 使用来自 Google CDN 的 jQuery - 如果可能的话,将所有的小书签代码移动到一个框架中会非常困难,所以我宁愿不去那里。

感谢您的帮助!

【问题讨论】:

  • 你有机会展示代码吗?

标签: javascript jquery webkit bookmarklet conflict


【解决方案1】:

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

这里的第三条评论:

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

【讨论】:

    【解决方案2】:

    我相信这个问题现在在 jquery 1.5+ 中得到了修复....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多