2012-01-25 20 views
6

Tôi muốn có được vị trí và thư mục đầu tiên, như:Tôi muốn sử dụng jQuery để có được vị trí và thư mục đầu tiên với window.location

http://www.example.com/test/ 

var $location = window.location.href; 
alert ($location); 

này trả

http://www.example.com/test/location-test.html 

Vì vậy, Tôi muốn nó trả lại mọi thứ cho đến "test /", vì vậy tôi chỉ kết thúc với:

http://www.example.com/test/ 

Cảm ơn bạn trước!

Trả lời

12

Bạn có thể thử điều này.

var url = location.protocol + "//" + document.domain + "/" 
      + location.pathname.split('/')[1] + "/"; 
+0

Làm việc như một nét duyên dáng! Nhiều đánh giá cao! – user770252

+1

Kool, đánh dấu nó là câu trả lời bất cứ khi nào bạn có thể. – ShankarSangoli

2

Hãy thử điều này

function baseUrl() { 

    var baseUri = window.location.href; 
    //Removes any # from href (optional) 
    if(baseUri.slice(baseUri.length - 1, baseUri.length) == "#") 
      baseUri = baseUri.slice(0, baseUri.length - 1); 
    var split = window.location.pathname.split('/'); 
    if (split.length > 2) 
      baseUri = baseUri.replace(window.location.pathname, '') + "/" + split[1] + "/"; 
    //This will append the last slash 
    if (baseUri.substring(baseUri.length - 1, baseUri.length) != "/") 
      baseUri += "/"; 
    return baseUri; 
} 

Xử lý hầu hết các trường hợp {Tôi đoán vậy :)}

+0

Tôi cũng sẽ thử tính năng này, cảm ơn bạn! – user770252

1

Trong trường hợp có cái gì đó hữu ích hơn bạn muốn làm bằng cách sử dụng Location Object tôi 'd look at the docs trước tiên.

Trong mọi trường hợp, những gì tôi nghĩ rằng bạn đang tìm kiếm là một cái gì đó như thế này:

var href = location.href.split('/'); 
href.pop(); 
href = href.join('/') + '/'; 
console.log(href); 
+0

cảm ơn tất cả các bạn đã trả lời! – user770252

1

@Amar có một câu trả lời tuyệt vời, nhưng chỉ để chứng minh những gì bạn có thể làm với javascript đây là một giải pháp khác. Tôi không biết nếu nó được đề nghị và nếu nó không phải là tôi muốn nghe lý do tại sao.

//Play with the sting prototype 
String.prototype.getFirstFolder = function() 
{ //Get First Folder 
    var parts = this.split('/'); 
    var ret = parts[0];//if parts.length is <=1 then its an invalid url 
    var stop = Math.min(4,parts.length); 
    for(i=1;i<stop;i++) { 
     ret += "/" + parts[i]; 
    } 
    return ret; 
} 

Được sử dụng như thế này

var str = "http://www.google.com/test/pages.html"; 
str.getFirstFolder(); 

Xem fiddle: http://jsfiddle.net/giddygeek/zGQN2/1/

+0

cảm ơn tất cả các bạn đã trả lời! – user770252