1

私たちの JQuery ファイルが別のベンダーの製品に干渉しているという問題で、今日、ある顧客から連絡がありました。

シナリオは MS CRM 2011 です。リボンには、JQuery を必要とするボタンがいくつかあります。残念ながら、これにより、スクリプト ファイルが必要な場所だけでなく、リボンのある場所に配置されることになります。

他のベンダーもエンティティで JQuery を使用しています。ただし、スクリプトはリボンにあるため、両方のスクリプト セットが他のベンダーに存在し、バージョンの不一致があります。他のベンダーにエラーを引き起こしています。

ここでは明らかに間違っていますが、それを修正するために何をすべきかわかりません。エイリアスは既に用意されていますが、それは独自のスクリプトでのみ機能するように思われるため、最終的に別のバージョンの JQuery を使用することはありません。他のベンダーは、この問題を解決するために自社のバージョンの JQuery にエイリアスを設定しようとしていますが、私は今後この問題を他の誰かに引き起こしたくありません。

独自のスクリプトだけでなく、実際の JQuery ファイルでエイリアスを作成する方法はありますか? 基本的に、他の誰かが私の JQuery ファイルを誤って使用するのを防ぎたいのです。

EDIT1: 明確にするために、JQuery を MS CRM の Web リソースとして含め、追加のライブラリとしてボタンに含めます。ここで説明されている方法でこれを行います 。従来のインクルード行であるため、実際の JQuery ファイル自体でそれを制限するために何かできることを望んでいました。

4

1 に答える 1

2

それを解決する最善の方法は、コードでサードパーティのライブラリを使用しないことです。ただし、それはオプションではない可能性が高いため、別の解決方法を次に示します。

<script src="jquery.js"></script>
<script src="yourexternaljs.js"></script>

あなたのexternaljs.js:

(function($){
    // you are free to use $ inside of this area without conflicting with anyone elses code.
    $(document).ready(function(){
        alert("dom is ready.");
    })
})(jQuery.noConflict(true));

あなたの編集によると、はい、jquery.js に移動し、window.jQuery および window.$ へのすべての参照を必要なものに変更できます。そこには 2 ~ 4 回だけ含まれている必要があります。

于 2013-10-11T19:43:50.887 に答える