質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

7017閲覧

JavaScriptでスクリプトタグを動的に埋め込み動作させる方法

oi7171

総合スコア4

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

2クリップ

投稿2018/07/16 17:25

JavaScriptでスクリプトタグを動的に埋め込み動作させる方法を試しているのですが、下記の通り試すと動作いたしません。
どのようにすれば動作するのか教えていただけると幸いです。

外部ファイルを読み込むスクリプトタグを動的に埋め込み、外部ファイルであるhoge.jsを動作させるといった流れです。
hoge.jsの中身はキチンと読み込まれているかを確認するためだけのコードなので、
alertを表示させているだけです。
ややこしくて申し訳ありません。

HTML

1<html> 2<head> 3</head> 4<body> 5<span>Insert here! [start]</span> 6 <div id="add"> 7 </div> 8<span>Insert here! [end]</span> 9 10<script> 11 var h = document.createElement("div"); 12 h.innerHTML = '\<script src=\"js/hoge.js\"\>\</script\>'; 13 14 var dv = document.getElementById("add"); 15 dv.appendChild(h); 16</script> 17 18</body> 19</html>

外部から呼び出すjsファイル(hoge.js)

js

1 2alert("hoge");

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

innerHTML ではなくcreateElement で処理しましょう。

【javascript - innerHTMLに入れたコードの中にscriptタグがあっても実行されないのはなぜ? - スタック・オーバーフロー】
https://ja.stackoverflow.com/questions/2756/innerhtmlに入れたコードの中にscriptタグがあっても実行されないのはなぜ

【HTMLElementの中でScriptタグを追加し、実行する】
https://qiita.com/DinhDuyThanh/items/eddec8c50c5c571658f3

js

1var script=document.createElement('script'); 2script.innerHTML = "alert('ok')" 3var div=document.getElementById('test'); 4div.appendChild(script)

投稿2018/07/16 17:39

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問