• 締切済み

外部ファイル名を変数で指定できるか?

JavaScriptで参照する外部ファイルを、ヘッダー部で以下のように記述しています。 <script language="JavaScript" src="Data.js"></script> このsrc=で、指定するファイルを、変数で指定することは可能でしょうか? 試しに <script language="JavaScript"> <!-- var Src_File = "Data.js";  src=Src_File; //--> </script> と記述しても、エラーとなってしまいました。 変数を使いたい理由は、ラジオボタン等を使って、参照する外部ファイルを動的に切り替えたいのです。 よろしくお願いします。

みんなの回答

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.3

IE9でモードをIE8モードにして試して見ましたが、 特に問題なく動きました。 (呼び出した記述はalertの実行や関数定義。) document.writeとか使ってないですよね?

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.2

ANo.1のコードは検証してはいませんが、 evalは文字列の内容をJavaScriptとして評価する物なので (JavaScriptコードではない)HTMLの断片を渡してもエラーになると思います。 appendChildでscript要素を追加すると読み込んでくれるようですね。 var src = 'Data.js'; //ファイルのパスを入れる //script要素を追加 var scriptElement = document.createElement('script'); scriptElement.src = src ; document.getElementsByTagName('head')[0].appendChild(scriptElement);

MusaGoro
質問者

お礼

回答ありがとうございます。 <script language="JavaScript"> <!-- var Src_File = 'Photo.js'; var scriptElement = document.createElement('script'); scriptElement.src = Src_File ; document.getElementsByTagName('head')[0].appendChild(scriptElement); //--> </script> としてみましたが、思うようにいきません。 何が悪いのでしょうか? 因みに、IE8です。

  • 1minn
  • ベストアンサー率57% (52/90)
回答No.1

検証してないのでなんとも言えませんが・・・ var a = "aaa.js"; var b = "bbb.js"; var srcFile = ""; if ( 条件 ) { srcFile = "<script type=\"text/javascript\" src="+ a +"></script>"; } else { srcFile = "<script type=\"text/javascript\" src="+ b +"></script>"; } eval( srcFile ); こんなんじゃだめですかね?

関連するQ&A