如果我使用:
alert(window.location.href);
我得到了包括查询字符串在内的所有信息。是否有一种方法只得到主url部分,例如:
http://mysite.com/somedir/somefile/
而不是
http://mysite.com/somedir/somefile/?foo=bar&loo=goo
如果我使用:
alert(window.location.href);
我得到了包括查询字符串在内的所有信息。是否有一种方法只得到主url部分,例如:
http://mysite.com/somedir/somefile/
而不是
http://mysite.com/somedir/somefile/?foo=bar&loo=goo
当前回答
这是可能的,但你必须手动从location对象构建它:
location.protocol + '//' + location.host + location.pathname
其他回答
只是使用URL的另一种选择
var theUrl = new URL(window.location.href);
theUrl.search = ""; //Remove any params
theUrl //as URL object
theUrl.href //as a string
使用indexOf
var url = "http://mysite.com/somedir/somefile/?aa";
if (url.indexOf("?")>-1){
url = url.substr(0,url.indexOf("?"));
}
var url = "tp://mysite.com/somedir/somefile/?foo=bar&loo=goo"
url.substring(0,url.indexOf("?"));
如果你查看文档,你可以从窗口对象中获取你感兴趣的属性。
protocol + '//' + hostname + pathname
你可以连接原点和路径名,如果有一个端口,如example.com:80,这也将包括在内。
location.origin + location.pathname