Javascript - 如何从location.href中删除域

时间:2011-08-04 16:53:57

标签: javascript jquery html

我需要使用Javascript从location.href中删除域名。我有像http://localhost/App/User/UserOrder.aspx?id=949abc91-a644-4a02-aebf-96da3ac7d8e1&type=MO这样的链接,我需要没有http://localhost的链接,以及将来没有它的真实域名。

我将在Javascript函数中使用这些trimed链接,所以我想在Javascript中修剪它。

我尝试过:window.location.href.split('/')[2];但我只能获得域名表单。我想摆脱域名。

这里的任何帮助都非常感谢!

5 个答案:

答案 0 :(得分:92)

使用window.location.pathname。这为您提供了相对于主机的路径。有关详细信息,请参阅here

对于任意网址,假设变量url包含您的网址,您可以执行以下操作:

url = url.replace(/^.*\/\/[^\/]+/, '')

答案 1 :(得分:11)

您可以使用other properties of window.location而不是在window.location.href上进行字符串操作。在您的情况下,您需要路径名,搜索和哈希:

console.log(window.location.pathname + window.location.search + window.location.hash);

答案 2 :(得分:8)

我在你的另一个问题上发布了这个评论作为评论,但我也可以在这里添加它。您可以使用正则表达式替换,如下所示:

location.href.replace(/.*\/\/[^\/]*/, '')

答案 3 :(得分:4)

试试这个:

window.location.pathname

小提琴:http://jsfiddle.net/maniator/zKruK/

答案 4 :(得分:0)

我使用我在网站上的当前路径创建了一个功能,可以向当前页面添加面包屑。您可以将域作为username + window.location.pathname传递(仅末尾/whatever/page/you/are/on)。不知道这是否与任何人有关,但我认为我愿意分享。

 function addBread() {
    var username = "jamesbootcamp.tv";
    var end = window.location.pathname;
    var short = username + end;
    var here = document.createTextNode(short);
    var p1 = document.getElementById("bread");

    p1.appendChild(here);
  }