• 締切済み

JavaScript の名前と場所

HTML から JavaScript を外部ファイルとして読み込んだ際に、JavaScript 自体の名前と場所を取得することは出来ないのでしょうか。 JavaScript のライブラリを作成しており、この中からそのライブラリフォルダ内の HTML を表示したいと思っております。 以上、よろしくお願いします。

みんなの回答

  • auty
  • ベストアンサー率58% (284/486)
回答No.2

IEとFoxfireの仕様が違うので、2通りの方法を考えてみます。 第1番目の準備。  ・ フォルダ名は、グローバル変数として渡す。  ・ <script>タグのsrc属性にファイル名を指定し、id属性も利用する。 【HTMLファイル】glob2.html --------------------------------------------------------------------- <html> <head> <title>map</title> <script id="js2" type="text/javascript" src="abc2.js"></script> <script type="text/javascript"> <!-- var folder = "C:\\Users\\ty\\ws2\\WP\\WebRoot\\JS_HB\\global"; // グローバル変数 f2(); //--> </script> </head> <body> </body> </html> --------------------------------------------------------------------- 【外部ファイル】abc2.js --------------------------------------------------------------------- function f2(){ var file; var path = document.getElementById("js2").src; alert(path); if (document.all) { //folder = path.substring(0,pos1); // IE file= path; } else { var pos1 = "file:///".length; // Foxfire var pos2 = path.lastIndexOf("/"); //var folder = path.substring(pos1,pos2); file = path.substr(pos2+1); } alert("folder: '"+folder+"'\n"+ "file : '"+file+"'\n"); } --------------------------------------------------------------------- 第2番目の準備。 ・ フォルダ名・ファイル名共にグローバル変数として渡す。 【HTMLファイル】glob3.html --------------------------------------------------------------------- <html> <head> <title>map</title> <script id="js2" type="text/javascript" src="abc3.js"></script> <script type="text/javascript"> <!-- var folder = "C:\\Users\\ty\\ws2\\WP\\WebRoot\\JS_HB\\global"; // グローバル変数 var file = "abc3.js"; // グローバル変数 f2(); //--> </script> </head> <body> </body> </html> --------------------------------------------------------------------- 【外部ファイル】abc3.js --------------------------------------------------------------------- function f2(){ alert("folder: '"+folder+"'\n"+ "file : '"+file+"'\n"); } ====================================================== 2.の「共にグローバル変数として渡す」方が   はるかにシンプルになると思われます。

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

難しいとおもうのでスクリプト内に明示的にかいておくといいのでは?

すると、全ての回答が全文表示されます。

関連するQ&A