2013-07-05 20 views
7

Od:jQuery/JS: Pobierz bieżący URL katalogu nadrzędnego

http://www.site.com/example/index.html

Jak mogę uzyskać tylko:

http://www.site.com/example/

i przechowywanie go w zmienna używająca Javascript i jak używać jQu ery również. Z góry dziękuję.

+3

Drobna nitpick ... To nie jest "katalog". Jest częścią adresu URL zasobu. Może * mapować * do katalogu na serwerze, ale sam URL nie ma katalogu, ponieważ HTTP nie jest systemem plików. – David

+0

Dzięki za informację, docenione –

Odpowiedz

10
var myURL = "http://www.site.com/example/index.html"; 
var myDir = myURL.substring(0, myURL.lastIndexOf("/") + 1); 
1

Fiddle

var a = "http://www.site.com/example/index.html"; 
var b = a.substring(0, a.lastIndexOf('/'))+"/"; 
1

regex byłoby zrobić to samo, ale w tym przykładzie regex nie jest najprostszym rozwiązaniem.

var url = "http://www.site.com/example/index.html"; 
var newUrl = url.match(/^(.*[\\\/])/)[1]; 
1
$(location).prop("href").split("/").slice(0,-1).join("/") 

proces Demo z bieżącej strony:

  1. $ (lokalizacja)

    { 
        "ancestorOrigins": { 
        }, 
        "hash": "", 
        "host": "stackoverflow.com", 
        "hostname": "stackoverflow.com", 
        "href": "https://stackoverflow.com/questions/17497045/jquery-js-get-current-url-parent-directory", 
        "origin": "https://stackoverflow.com", 
        "pathname": "https://stackoverflow.com/questions/17497045/jquery-js-get-current-url-parent-directory", 
        "port": "", 
        "protocol": "https:", 
        "search": "" 
    } 
    
  2. $ (lokalizacja) .prop ("href")

    https://stackoverflow.com/questions/17497045/jquery-js-get-current-url-parent-directory 
    
  3. $ (lokalizacja) .prop ("href"). Split ("/")

    [ 
        "https:", 
        "", 
        "stackoverflow.com", 
        "questions", 
        "17497045", 
        "jquery-js-get-current-url-parent-directory" 
    ] 
    
  4. $ (lokalizacja) .prop ("href"). split ("/"). slice (0, -1)

    [ 
        "https:", 
        "", 
        "stackoverflow.com", 
        "questions", 
        "17497045" 
    ] 
    

    ※ Metoda slice() wybiera elementy rozpoczynające się od danego argumentu startowego, a kończy na, ale nie zawiera podanego argumentu końcowego. Użyj liczb ujemnych, aby wybrać z końca tablicy.

  5. $ (lokalizacja) .prop ("href"). Split ("/"). Slice (0, -1) .join ("/")

    https://stackoverflow.com/questions/17497045 
    

Przypisy:

  • location: przedmiotem lokalizacja zawiera informacje o aktualnym adresie URL.
  • href: Cały adres URL bieżącej strony.
  • .prop(): Uzyskaj wartość właściwości dla elementu.
  • .split(): Metoda służy do podziału ciągu na tablicę podłańcuchów i zwraca nową tablicę.
  • .slice(): Metoda zwraca wybrane elementy w tablicy jako nowy obiekt tablicy.
  • .join(): Metoda łączy elementy tablicy w łańcuch i zwraca ciąg znaków.
+3

Czy mógłbyś rozszerzyć swoją odpowiedź dla innych programistów, aby zrozumieć, jak dokładnie pomaga rozwiązać problem. – Daenarys

+0

@Daenarys Twoja propozycja jest dobra, poprawiłem swoją odpowiedź. – jqgsninimo

Powiązane problemy