JavaScriptで動的に外部ファイルを追加します
外部ファイルが存在していなければ、追加します
1回目は存在していない為追加時にHTTPリクエストが発生します
2回目は存在しているのでelse{a()}が実行されます
この2回目も開発ツールで見るとadd.jsへHTTPリクエストされているのがわかります
外部ファイルに記述されたa()を呼び出す度にHTTPリクエストが発生してしまうのですが、
これは当たり前なんでしょうか?
そうでしたら負荷の観点から外部ファイルは使わない方がいいと考えた方がいいんでしょうか
キャッシュやら何やらで対策はできるものの、HTTPリクエスト自体を発生させたくないのです
<script> function add(){ if(!document.querySelector('script[src="add.js"]')){; var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.src = "add.js"; head.appendChild(script); setTimeout("a()",1000); }else{ a(); } } </script> <input type="button" value="動的追加" onclick="add()">
add.js function a(){ alert("add"); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。