2013-07-10 29 views
5

Próbuję uzyskać bieżącej nazwy pliku z adresu URL za pomocą:Pobierz aktualną nazwę pliku z adresu URL przy użyciu JavaScript/jQuery, kiedy tylko ścieżka folderu wiadomo

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

Działa to dobrze, jeśli pełna ścieżka jest czymś :

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

powróci index.php, index.cfm, index.html itp

Ale gdy adres URL jest http://www.yoursite.com/folder/

Nie mogę pobrać bieżącej nazwy pliku, czy jest to możliwe za pomocą js lub jquery?

+0

Nie, ponieważ domyślny plik indeksu jest ustawieniem na serwerze internetowym. Możesz założyć i po prostu powiedzieć, że to index.html, jeśli ładujesz folder ... – Populus

+0

Ten adres URL nie ma nazwy pliku do pobrania. Czy możesz wyjaśnić, dlaczego próbujesz to zrobić? – loganfsmyth

+0

Tak, używam jquery do pokazywania/ukrywania elementów w obrębie określonej struktury folderów/kontaktów, ale nie dla pliku index.php, lub tylko dla pliku index.php na przykład. – lharby

Odpowiedz

5

Jeśli masz tylko ścieżkę w adresie URL, nie możesz pobrać nazwy pliku - nie używając jQuery, nie używając żadnej innej metody po stronie klienta. Wynika to z tego, że tylko ten serwer, który wysyła ten plik, wie, czym jest ten plik. Konkretnie, w konfiguracji serwera WWW istnieje dyrektywa, która wskazuje nazwę pliku do wyszukania, jeśli podana jest tylko nazwa katalogu. Na przykład, w apache może być

DirectoryIndex index.html index.php home.htm 

ten informuje serwer, że dla wniosków z jedynego katalogu nazwę serwera będzie próbował służyć plik index.html z tego katalogu; jeśli nie istnieje, to index.php; jeśli to też nie istnieje, wtedy home.htm. Jeśli ten też nie istnieje, to zachowanie zależy od innych opcji konfiguracyjnych. Inne oprogramowanie serwera sieciowego ma podobne opcje konfiguracji.

W związku z tym po wysłaniu żądania takiego jak http://www.yoursite.com/folder/ do serwera tylko ten serwer będzie wiedział, który plik jest rzeczywiście używany.

+0

Doskonała odpowiedź, dzięki za wyjaśnienie. – lharby

+0

Świetne pytania i odpowiedzi, nauczyłem się czegoś, +1 dzięki – Anil