• 締切済み

JavaScript内にJavaScriptを読み込む方法

HTML内に <script type="text/javascript" src="main.js"></script> という一行を追加すると、バナーが表示されるというスクリプトを作成しています。 main.jsは、 html = '<script language="JavaScript">'; html += 'var url0101 = "url01.xxx.jp";'; html += 'var url02 = "url02.oooo.jp";'; html += '</script>'; html += '<script language="JavaScript" src="http://xxx.xxxx.xxx/test.js"></script>'); html += '<script language="JavaScript">'; html += 'Function01("check")'; html += '</script>'; document.write(html); というような風になっており、 (1) 変数の宣言 ↓ (2) http://xxx.xxxx.xxx/test.jsの読み込み ↓ (3) (2)で読み込んだjs内の関数Function01を実行 という流れです。 FireFoxでは表示されましたが、IE6では (2)のjsを読み込む前に(3)のFunction01が実行され、 「オブジェクトを指定してください」のエラーが表示されてしまいます。 よい方法がありましたら教えていただけますでしょうか? よろしくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

main.jsをこうしてみてください var url0101 = "url01.xxx.jp"; var url02 = "url02.oooo.jp"; var js=document.createElement("script"); js.setAttribute("type","text/javascript"); js.setAttribute("src","http://xxx.xxxx.xxx/test.js"); document.getElementsByTagName("head")[0].appendChild(js); var js=document.createElement("script"); js.setAttribute("type","text/javascript"); js.appendChild(document.createTextNode('Function01("check");')); document.getElementsByTagName("head")[0].appendChild(js);

yexob328
質問者

お礼

ご回答ありがとうございました。 main.jsを上記のようにしてためしたところ、 ライン:11 文字:1 エラー:予期しないメソッドの呼び出し、またはプロパティアクセスです というエラーとなってしまいました。 回答していただいた内容を参考にもう少し考えてみようと思います。

関連するQ&A