[解決済み] JavascriptでjQueryを読み込み、jQueryを使用する。
2023-03-20 11:17:32
質問
domにjQueryライブラリを追加しています。
var script = document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
しかし、実行すると
jQuery(document).ready(function(){...
コンソールでエラーが報告されます。
Uncaught ReferenceError: jQuery is not defined
jQueryを動的にロードし、domに取り込んだ後に使用するにはどうすればよいですか?
どのように解決するのですか?
ここに小さな例で動くJSFiddleがあり、まさにあなたが探しているものを実演しています。 (私があなたの要求を誤解していない限り) : http://jsfiddle.net/9N7Z2/188/
javascriptを動的にロードするこの方法には、いくつかの問題があります。jQuery のような非常に基本的なフレームワークに関しては、おそらく静的にロードしたいと思うでしょう。
既存のJavaScriptローダーのいくつかを使うことができますし、あるいは
window.jQuery
が定義されるのを監視して、独自のものを書くこともできます。
// Immediately-invoked function expression
(function() {
// Load the script
const script = document.createElement("script");
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js';
script.type = 'text/javascript';
script.addEventListener('load', () => {
console.log(`jQuery ${$.fn.jquery} has been loaded successfully!`);
// use jQuery below
});
document.head.appendChild(script);
})();
ただ、サポートする必要がある場合
本当に
IE8 のような古いブラウザ。
load
イベントハンドラは実行されません。そのような場合は
window.jQuery
が存在するかどうかを、繰り返し
window.setTimeout
. このメソッドを使ったJSFiddleはこちらです。
http://jsfiddle.net/9N7Z2/3/
あなたがする必要があることをすでに行っている人がたくさんいます。既存の JavaScript ローダーフレームワークのいくつかをチェックしてみてください。
- https://developers.google.com/loader/ (もはや文書化されていない)
- http://yepnopejs.com/ (非推奨)
- http://requirejs.org/
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] なぜJavaScriptでは!{}[true]がtrueに評価されるのですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Javascriptを使用してjqueryがロードされているかどうかを確認する
-
[解決済み] JavaScriptコンソールにjQueryを含める
-
[解決済み] なぜdocument.writeは「バッドプラクティス」と言われるのですか?
-
[解決済み] JavaScript ファイルを動的に読み込む
-
[解決済み] javascriptで2つの数値を連結する方法は?
-
[解決済み] JavaScriptのtoString()関数をオーバーライドして、デバッグ用に意味のある出力を提供することは可能でしょうか?
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] TypeScriptプロジェクトで既存のC#クラス定義を再利用する方法
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。