[解決済み] scriptタグでonloadイベントを発生させようとしています。
2022-08-31 20:30:55
質問
スクリプトのセットを順番にロードしようとしているのですが、onloadイベントが発生しません。
var scripts = [
'//cdnjs.cloudflare.com/ajax/libs/less.js/1.3.3/less.min.js',
'//cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0-rc.3/handlebars.min.js',
MK.host+'/templates/templates.js'
];
function loadScripts(scripts){
var script = scripts.shift();
var el = document.createElement('script');
el.src = script;
el.onload = function(script){
console.log(script + ' loaded!');
if (scripts.length) {
loadScripts(scripts);
}
else {
console.log('run app');
MK.init();
}
};
$body.append(el);
}
loadScripts(scripts);
jQueryでDOMに要素を追加する場合、el.onloadのようなネイティブイベントは発火しないのでしょう。もし私がネイティブの
document.body.appendChild(el)
を使用すると、期待どおりに起動します。
どのように解決するのですか?
を設定する必要があります。
src
属性
の後に
その
onload
イベントの後、例えば
el.onload = function() { //...
el.src = script;
また、DOMにスクリプトを追加する必要があります。
の前に
を付加してください。
onload
イベントをアタッチします。
$body.append(el);
el.onload = function() { //...
el.src = script;
をチェックする必要があることを忘れないでください。
readystate
を確認する必要があります。また、jQueryを使用している場合は、その前に
getScript()
というメソッドを使うこともできます。
http://api.jquery.com/jQuery.getScript/
関連
-
[解決済み] イベントを発生させた要素のIDを取得する
-
[解決済み] scriptタグの中にCDATAセクションが必要なのはどんな場合ですか?
-
[解決済み] スクリプトタグ - 非同期と遅延
-
[解決済み] React/JSXにscriptタグを追加する。
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] javascriptでオプションのパラメータを扱う
-
[解決済み] JavaScriptデータフォーマット/プリティプリンタ
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JS内部でJSを動的にロードする【重複あり
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?