如何在JavaScript中没有任何参数的情况下获取URL?

2022-08-30 00:45:41

如果我使用:

alert(window.location.href);

我得到了包括查询字符串在内的所有内容。有没有办法只获取主url部分,例如:

http://mysite.com/somedir/somefile/

而不是

http://mysite.com/somedir/somefile/?foo=bar&loo=goo

答案 1

这是可能的,但您必须从位置对象手动构建它:

location.protocol + '//' + location.host + location.pathname

答案 2

每个答案都相当复杂。这里:

var url = window.location.href.split('?')[0];

即使 ?不存在,它仍将返回第一个参数,该参数将是您的完整 URL,减去查询字符串。

它也是协议不可知的,这意味着您甚至可以将其用于ftp,itunes等。