- 締切済み
外部ファイル名を変数で指定できるか?
JavaScriptで参照する外部ファイルを、ヘッダー部で以下のように記述しています。 <script language="JavaScript" src="Data.js"></script> このsrc=で、指定するファイルを、変数で指定することは可能でしょうか? 試しに <script language="JavaScript"> <!-- var Src_File = "Data.js"; src=Src_File; //--> </script> と記述しても、エラーとなってしまいました。 変数を使いたい理由は、ラジオボタン等を使って、参照する外部ファイルを動的に切り替えたいのです。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Gotthold
- ベストアンサー率47% (396/832)
IE9でモードをIE8モードにして試して見ましたが、 特に問題なく動きました。 (呼び出した記述はalertの実行や関数定義。) document.writeとか使ってないですよね?
- Gotthold
- ベストアンサー率47% (396/832)
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);
- 1minn
- ベストアンサー率57% (52/90)
検証してないのでなんとも言えませんが・・・ 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 ); こんなんじゃだめですかね?
お礼
回答ありがとうございます。 <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です。