[解決済み] 同じページで複数のバージョンのjQueryを使用することはできますか?
質問
私が携わっているプロジェクトでは、顧客のWebページでjQueryを使用する必要があります。顧客は私たちが提供するコードの塊を挿入し、それにはいくつかの
<script>
要素でウィジェットを構築し
<script>
-作成された
<iframe>
. もしまだ最新版のjQueryを使用していなければ、これには(ほとんどの場合)、以下のものが含まれます。
<script>
GoogleがホストしているバージョンのjQueryのためのものです。
問題は、お客様によっては、すでに古いバージョンのjQueryがインストールされている場合があることです。少なくともかなり新しいバージョンであれば問題ありませんが、当社のコードはjQueryライブラリに最近導入された機能に依存しているため、お客様のjQueryのバージョンが古すぎる場合があります。jQueryの最新バージョンへのアップグレードを要求することはできません。
新しいバージョンのjQueryをロードして、私たちのコードのコンテキスト内でのみ使用し、顧客のページ上のコードに干渉したり、影響を与えたりしない方法はないのでしょうか?理想的には、jQueryの存在を確認し、バージョンを検出し、それが古すぎる場合は、私たちのコードに使用するためだけに最新バージョンを何らかの方法で読み込むことができるかもしれません。
の中でjQueryを読み込むことを思いつきました。
<iframe>
を含む顧客のドメインで、私たちの
<script>
というのは実現可能なように思えますが、もっとエレガントな方法があればと思っています(もちろん、パフォーマンスや複雑さといったペナルティなしに、余計な
<iframe>
s).
解決方法は?
jQueryのnoconflictモードがあるので、可能です。 http://blog.nemikor.com/2009/10/03/using-multiple-versions-of-jquery/
<!-- load jQuery 1.1.3 -->
<script type="text/javascript" src="http://example.com/jquery-1.1.3.js"></script>
<script type="text/javascript">
var jQuery_1_1_3 = $.noConflict(true);
</script>
<!-- load jQuery 1.3.2 -->
<script type="text/javascript" src="http://example.com/jquery-1.3.2.js"></script>
<script type="text/javascript">
var jQuery_1_3_2 = $.noConflict(true);
</script>
では、代わりに
$('#selector').function();
とすると
jQuery_1_3_2('#selector').function();
または
jQuery_1_1_3('#selector').function();
.
関連
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み] jQueryを使って要素のIDを取得するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み] jQueryで複数のクラスを持つ要素を選択するにはどうすればよいですか?
-
[解決済み] JavaScriptでページの一番上までスクロールする?
-
[解決済み] jQuery 複数のイベントで同じ関数を起動する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
vueが定義するプライベートフィルタと基本的な使い方
-
[解決済み】最大呼び出しスタックサイズ超過エラー
-
[解決済み】ローカルファイルを開くことができません - Chrome: ローカルリソースの読み込みが許可されていない
-
[解決済み】JavaScriptの配列でforEachが関数でない不具合
-
[解決済み] 期待される代入または関数呼び出し: 未使用式なし ReactJS
-
[解決済み】ERROR エラーです。スイッチのname属性が指定されていないフォームコントロールの値アクセッサがない
-
[解決済み】エラー。Ionic使用中にモジュール '../lib/utils/unsupported.js' が見つかりませんでした。
-
[解決済み】「.addEventListener is not a function」なぜこのエラーが発生するのか?
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
フロントエンド非同期(アシンク)ソリューション(全ソリューション)