我正在创建一个小书签,当然我想使用 jQuery。但是,如果我在网站上包含 jQuery(在头部附加脚本标签),如果网站上有其他 js,网站本身还能工作吗?
马蒂·莱恩
最佳答案
它会坏吗?......也许:)
我的脑海中浮现出两个非常常见的原因导致这种情况发生。如果他们使用另一个使用 $
作为其主要对象的库,那么您将遇到冲突,但这可以通过 jQuery.noConflict()
解决。 ,像这样:
var $j = jQuery.noConflict(); //give `$` back to whatever had it...
$j("selector").doSomething(); //use the $j you assigned or jQuery from now on
另一个是他们已经加载了 jQuery(也可能是不同的版本)。我只需在加载脚本之前添加一个 jQuery
对象测试,如下所示:
if (typeof jQuery == 'undefined') { //load jQuery }
//jQuery has been loaded, either by your or originally, keep going...
这个针对已加载的解决方案有一个警告,如果他们有旧版本的 jQuery,您将只能拥有该版本的功能。我不知道有什么方法可以在页面中加载旧版本和新版本,并且不会出现很多奇怪的行为……它的设计目的并不是这样做。
此外,对于 jQuery 已加载且是 $
的情况,我会将这两种解决方法结合起来,如下所示:
if (typeof jQuery == 'undefined') {
var used = typeof $ != 'undefined';
//load jQuery
if(used) jQuery.noConflict();
}
window.$j = jQuery;
//always use $j in your script, it'll always be present.
关于jquery - 如果我通过书签包含 jQuery,它会破坏网站上的原始 JavaScript 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707668/