2013-07-10 16 views
5

Sto cercando di ottenere il nome del file corrente dal URL utilizzando:Ottenere il nome del file corrente da un URL utilizzando JavaScript/jQuery, quando solo percorso della cartella è noto

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

Questo funziona bene se il percorso completo è qualcosa di simile :

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

tornerà index.php, index.cfm, index.html ecc

Ma quando l'URL viene http://www.yoursite.com/folder/

Non riesco a recuperare il nome file corrente, è possibile tramite js o jquery?

+0

No perché il file indice predefinito è un'impostazione all'interno del server web. Puoi fare un'ipotesi e dire basta index.html se stai caricando una cartella ... – Populus

+0

Quell'URL non ha il nome del file da ottenere. Potresti spiegare perché stai provando a questo? – loganfsmyth

+0

Sì, sto usando jquery per mostrare/nascondere elementi all'interno di una struttura/contatto di una particolare cartella ma non per il file index.php, o solo per il file index.php, per esempio. – lharby

risposta

5

Se si dispone solo del percorso nell'URL, non è possibile ottenere il nome file da esso - non utilizzando jQuery, non utilizzando alcun altro metodo sul lato client. Questo perché solo il server che invia questo file sa cosa è questo file. In particolare, nella configurazione del server Web, esiste una direttiva che indica quale nome del file cercare se viene specificato solo il nome della directory. Per esempio, in apache questo può essere

DirectoryIndex index.html index.php home.htm 

Questo indica al server che per le richieste con solo una directory nome del server tenterà di servire il file index.html da quella directory; se non esiste, allora index.php; se anche questo non esiste allora home.htm. Se anche questo non esiste, il comportamento dipende da altre opzioni di configurazione. Altro software per server Web ha opzioni di configurazione simili.

Quindi, quando si invia una richiesta come http://www.yoursite.com/folder/ a un server, solo quel server saprà quale file viene effettivamente utilizzato.

+0

Ottima risposta, grazie per aver chiarito. – lharby

+0

Grande Q & A, ho imparato qualcosa anch'io, +1 Grazie – Anil