2013-07-10 13 views
5

私が使用したURLから現在のファイル名を取得しようとしています:のjavascript/jqueryのを使用して、URLから現在のファイル名を取得します

$currentFile = window.location.pathname.split("/").pop(); 

フルパスのようなものである場合、これが正常に動作します:

http://www.yoursite.com/folder/index.php 

それはindex.phpを、index.cfmに、index.htmlをなど

が返されますが、URLはhttp://www.yoursite.com/folder/

とき0

現在のファイル名を取得できません。これはjsまたはjquery経由で可能ですか?

+0

デフォルトのインデックスファイルがWebサーバー内の設定であるため、いいえ。あなたは前提を作ることができ、あなたがフォルダをロードしている場合は、それがindex.htmlだと言うことができます... – Populus

+0

そのURLは取得するファイル名がありません。あなたはなぜこれをしようとしているのか説明できますか? – loganfsmyth

+0

はい、jqueryを使用して、特定のフォルダ構造/連絡先内の要素を表示/非表示にしますが、index.phpファイルでは表示しません。たとえば、index.phpファイルに対してのみ表示します。 – lharby

答えて

5

URLにパスしかない場合は、他のクライアント側のメソッドを使用せずに、jQueryを使用せずにファイル名を取得できません。これは、このファイルを送信するサーバーだけが、このファイルの内容を認識しているためです。具体的には、Webサーバーの構成には、ディレクトリー名のみが指定されている場合、検索するファイル名を指示する指示文があります。たとえば、Apacheでこれはこれが唯一のディレクトリとの要求に対してサーバがそのディレクトリからファイルindex.htmlを提供しようとするネームサーバに指示します

DirectoryIndex index.html index.php home.htm 

ことができます。それが存在しない場合は、index.php;それも存在しなければ、home.htm。それも存在しない場合、動作は他の構成オプションに依存します。他のWebサーバーソフトウェアにも同様の設定オプションがあります。

したがって、サーバーにhttp://www.yoursite.com/folder/のような要求を送信すると、そのサーバーだけが実際に使用されているファイルを認識します。

+0

優れた答え、明確化のためにありがとう。 – lharby

+0

素晴らしいQ&A、自分自身で何かを学んだ、+1ありがとう – Anil

関連する問題