1

JsonPを使用してJQueryのスクリプトを挿入しても安全ですか?

私の Web アプリケーションのインストールは、顧客の Web サイト (Google アナリティクスなど) にスクリプトを追加することです。顧客の Web サイトで、自分の挿入スクリプトの一部として JQuery を使用することを考えていました。

なんらかのリスクがあるかどうか疑問に思っていましたか?アプリケーションは、あらゆる種類の Web サイトをサポートする必要があります。

やろんさんありがとうございます

4

3 に答える 3

4

ライブラリで何をしているのかわかりにくいですが、複数のサイトで使用するためのある種のウィジェットを作成しているようです。

ここからは、@K Prime からの有益なコメントにより、必要に応じて jQuery の 2 つのコピーを含める方法を正確に調査した後、更新されました。

管理外のサイトに配置され、「この埋め込みコードをコピーしてサイトに貼り付ける」タイプの機能を使用してサイトに追加されるウィジェットを作成する場合、jQuery を使用するのは一般的に不適切です。(もちろん、jQuery ウィジェットとプラグインはたくさんありますが、これらは通常、一般的な「コピー アンド ペースト」ウィジェット タイプの実装ではなく、開発者によって選択され、インストール/実装されます)

おそらく最大の理由は (同じページで jQuery の 2 つのコピーを実行できることに気付いた後)、ファイル サイズの増加です。保証されるかどうかは、特定のニーズと機能によって異なります。シンプルな小さなウィジェット = ストレート JS。複雑な Web サイトのフロントエンド拡張機能の場合、おそらくファイル サイズを大きくする価値があります。

適切に含めるには (サイトで競合が発生しないようにするため)、次のようなワークフローに従います。

  1. ここの他の回答で述べたように、Google API を使用してページに jQuery を動的に追加します。
  2. var mywidget_jQuery = $.noConflict( true );の元の意味を復元し、 の元の意味を復元する実行$ ますwindow.jQuery
  3. スクリプト ファイルを動的に追加しますが、次のように自己実行型の無名関数で全体をラップしてください。

JS

(function($){
    ... Your code here ...
})(mywidget_jQuery);

これで、特別な関数内で安全に使用でき、必要$なすべての jQuery 機能を問題なく使用できます。

余分なクレジットステップ 1 と 2 を if ステートメントでラップして、window.jQueryが定義されているかどうかをテストし、定義されている場合jQuery.fn.versionは、コードを実行するのに十分な高さであるかどうかをテストできます。いずれかのテストが失敗した場合は、手順 1 と 2 を実行します。ただし、成功した場合は、実行var mywidget_jQuery = window.jQueryするだけで、手順 3 に含めたスクリプトが引き続き実行されます。

于 2010-01-08T02:19:56.687 に答える
2

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.js" />要素を追加するだけで、jQuery を Web サイトに追加できます。

ただし、別のキーワードjQuery.noConflict()を使用する場合に備えて、必ず呼び出してください。$

于 2010-01-08T02:01:24.960 に答える
0

ライブラリへの参照が必要な場合は、 Google Codeでホストされている API にリンクしないのはなぜですか?

于 2010-01-08T02:00:22.467 に答える