如何解决如何在JavaScript中获取不带任何参数的URL?
| 如果我使用: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
, 每个答案都相当复杂。这里:
var url = window.location.href.split(\'?\')[0];
即使一个?不存在,它将仍然返回第一个参数,它将是您的完整URL减去查询字符串。
它也与协议无关,这意味着您甚至可以将其用于ftp,itunes.etc等。
, 使用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(\"?\"));
, 您可以使用正则表达式:window.location.href.match(/^[^\\#\\?]+/)[0]
, 如果您查看文档,则可以仅从window
对象中获取您感兴趣的属性,即
protocol + \'//\' + hostname + pathname
, 您可以连接origin
和pathname
,如果存在诸如example.com:80
之类的端口,也将包括在内。
location.origin + location.pathname
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。