5

次を使用して、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/の場合

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

4

1 に答える 1

5

URLにパスしかない場合、そこからファイル名を取得することはできません-jQueryを使用せず、他のクライアント側の方法を使用しません. これは、このファイルを送信するサーバーだけがこのファイルが何であるかを知っているためです。具体的には、Web サーバー構成には、ディレクトリ名のみが指定されている場合に検索するファイル名を示すディレクティブがあります。たとえば、Apache では次のようになります。

DirectoryIndex index.html index.php home.htm

これは、ディレクトリ名のみのリクエストに対して、サーバーがindex.htmlそのディレクトリからファイルを提供しようとすることをサーバーに伝えます。存在しない場合は、index.php; それも存在しない場合home.htm。それも存在しない場合、動作は他の構成オプションに依存します。他の Web サーバー ソフトウェアにも同様の構成オプションがあります。

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

于 2013-07-10T16:09:52.250 に答える