gpt4 book ai didi

javascript - 包含外部 <script> 并防止多次加载 jQuery

转载 作者:行者123 更新时间:2023-11-29 19:24:59 25 4
gpt4 key购买 nike

我必须将来自外部站点的脚本包含到我的站点中。

<script src='http://widgets.something.de/clientidblablabla?parameters=2324' type='text/javascript'></script>

太糟糕了,该脚本还包括 jQuery 1.4.1。到目前为止,由于我使用的是 jQuery 1.8.3,因此我的一些脚本中断了。

有没有办法阻止加载外部 jQuery 文件?例如,我可以使用 url http://widgets.something.de/resources/jquery-1.4.1.js并阻止它?

虽然这个脚本比较庞大,但只在台式机上需要。我怎样才能实现这个 <script src="">标记为 if($(window).width() > 768px) { // fire script };

最佳答案

我认为您可以简单地使用另一个别名来加载您的 jquery,并让插件使用通用别名 $

通常是加载所有插件并在需要时使用它们。所以 if($(window).width() > 768) {//fire script } 听起来不错。另一种方法是使用 jQuery getScript() 方法,它允许您异步加载脚本:

(function(j){

if( $(window).width() > 768 ){
j.getScript('http://widgets.something.de/clientidblablabla?parameters=2324', function(){
// script loaded, you can play with it from here
});
}
})(jQuery);

编辑:

我举了一个例子(jsFiddle)来更好地解释它。

(function(j213){

// right now j213 and $ are aliases of the same version (2.1.3)
j213('body').append( 'j213 = ' + j213().jquery + '<br/>' );
$('body').append( '$ = ' + $().jquery + '<br/>' );

j213.getScript('https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js', function(){

// once another version of jQuery has been loaded, $ becomes an alias for 1.4.1 while j213 still holds for 2.1.3
$('body').append( '$ = ' + $().jquery + '<br />' );

// you can also remove an alias
delete $; // or $ = undefined;
// or $ = null;
// or $ = 'whatever you want';

j213('body').append(typeof($) + '<br />'); // returns undefined

// or assign a new one easily
$ = jQuery; // $ is now 1.4.1 - the last jQuery loaded
$('body').append( '$ = ' + $().jquery + '<br />' );

$ = j213; // $ is now 2.1.3
$('body').append( '$ = ' + j213().jquery + '<br />' );

});


})(jQuery);

关于javascript - 包含外部 &lt;script&gt; 并防止多次加载 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31155705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com