我需要使用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];
但我只能获得域名表单。我想摆脱域名。
这里的任何帮助都非常感谢!
答案 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)
答案 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);
}