我正在研究一些将嵌入其他网站(比如 Google Analytics 或 AdSense)的 JavaScript。有一些硬核 JS 正在完成——AJAX 请求、动画、JSON(P)。
我已经使用 jQuery 编写了原型(prototype),并且真的很想继续使用它,但是如果其他站点也安装了 jQuery,这可能会导致嵌入到其他站点时出现问题——甚至可能是不同的版本。
有解决这个问题的好方法吗?到目前为止,我得到的最佳解决方案是简单地将所有出现的 jQuery
替换为 kQuery
,并将 $
替换为 $kQuery
,所以没有命名冲突。有什么建议么?我怎样才能与他们现有的 JavaScript 尽可能兼容?
最佳答案
jQuery 有一个noConflict
模式;这就是你所需要的。 jQuery 在覆盖它们之前将 window.jQuery
和 window.$
的原始值保存为本地副本。
所以,一个解决方案是:
var kQuery = $kQuery = $.noConflict( true );
用原始值替换 window.jQuery
和 window.$
并返回对 jQuery 本身的引用
如果您根本不想更改代码,只需将其包装在:
(function( $ ){
// Your code with $
})( $.noConflict( true ) );
关于javascript - 嵌入在其他网站上的 JS - 如何在不搞砸其他 jQuery 安装的情况下使用 jQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4014491/