2

多くのサイトで使用されているコードがいくつかあります。ターゲットのWebサイトを管理するコントローラーがありません。

JQuery.noconflict()を使用して、サイトに影響を与えるコードを停止していますが、すでにJQueryを使用しているターゲットが1つあり、これを回避する方法がわかりません。

基本的に、コードがそこにあるJquery機能のいくつかに取り込まれるとサイトが壊れます。

これが、問題を引き起こしているJqueryの一部です。

jQuery(function(){
jQuery('#superfish-4').supersubs({minWidth: 12, maxWidth: 27, extraWidth: 1}).superfish({
animation: {opacity:'show'},
speed: 'fast',
autoArrows: false,
dropShadows: true}).supposition().find('ul').bgIframe({opacity:false});
});

コードを含めると、次のエラーが発生します。

Uncaught TypeError:Object[objectObject]にはメソッド'supersubs'がありません

Jqueryの例をいくつか示します。

<script src="jquery-latest.min.js" type="text/javascript"></script> 
<script>jQuery.noConflict(); 
jQuery(document).ready(function() { 
jQuery('head').append('<link rel="stylesheet" href="cssfilehere" type="text/css" />'); 
jQuery.get('htmlfilehere', function(data) { jQuery('div.fdmediabar-65144924').html(data); }); }); 
</script> <div id="idhere" class="classhere"></div>

これはクライアントプロジェクトなので、クラス名とURLを取り出しました。

JQueryオブジェクトを別の方法で参照する方法がわかりませんか?

4

1 に答える 1

1

.noConflict(true)ドキュメント)を呼び出す場合:

何らかの理由で2つのバージョンのjQueryがロードされた場合(これは推奨されません)、2番目のバージョンから$ .noConflict(true)を呼び出すと、グローバルスコープのjQuery変数が最初のバージョンの変数に戻ります。

その後、上書きjQueryして以前にロードされたバージョンにすることができます。

jQueryへの独自の参照を保持し、それを使用する必要があります。詳細については、これを参照してください。

于 2013-03-26T14:35:35.520 に答える