2013-07-10 136 views
5

我試圖使用來從URL當前文件名:獲取當前文件名時,只有文件夾路徑被稱爲

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

此工作正常,如果完整路徑是一樣的東西:

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

將返回的index.php,index.cfm,index.html的等

但是當網址http://www.yoursite.com/folder/

我無法檢索當前的文件名,這是可能通過js或jQuery?

+0

否,因爲默認索引文件是Web服務器中的設置。你可以做一個假設,只是說它是index.html,如果你正在加載一個文件夾... – Populus

+0

該URL沒有文件名可以得到。你能解釋你爲什麼試圖這樣做嗎? – loganfsmyth

+0

是的,我使用jQuery來顯示/隱藏特定文件夾結構/聯繫人中的元素,但不是index.php文件,或僅用於index.php文件。 – lharby

回答

5

如果您只有URL中的路徑,那麼您無法從中獲取文件名 - 不使用jQuery,也不使用任何其他客戶端方法。這是因爲只有發送這個文件的服務器知道這個文件是什麼。具體來說,在Web服務器配置中,有一個指令,指示只有指定目錄名稱時要搜索的文件名。例如,在阿帕奇這可能是

DirectoryIndex index.html index.php home.htm 

這告訴了只有一個目錄請求命名服務器將嘗試從該目錄服務文件index.html服務器;如果不存在,則index.php;如果那也不存在那麼home.htm。如果那個也不存在,那麼行爲取決於其他配置選項。其他Web服務器軟件具有相似的配置選項。

因此,當您向服務器發送類似http://www.yoursite.com/folder/的請求時,只有該服務器纔會知道實際使用的文件。

+0

優秀的答案,謝謝澄清。 – lharby

+0

偉大的問答,自己學到了東西,+1謝謝 – Anil

相關問題