我只想获取网站URL。不是从链接获取的URL。在页面加载时,我需要能够获取网站的完整、当前URL,并将其设置为一个变量,以便根据需要进行处理。
当前回答
location.origin+location.pathname+location.search+location.hash;
and
location.href
也一样。
其他回答
您可以使用以下方法获取带有哈希标记的当前URL位置:
JavaScript:
// Using href
var URL = window.location.href;
// Using path
var URL = window.location.pathname;
jQuery:
$(location).attr('href');
// http://127.0.0.1:8000/projects/page/2?name=jake&age=34
let url = new URL(window.location.href);
/*
hash: ""
host: "127.0.0.1:8000"
hostname: "127.0.0.1"
href: "http://127.0.0.1:8000/projects/page/2?username=jake&age=34"
origin: "http://127.0.0.1:8000"
password: ""
pathname: "/projects/page/2"
port: "8000"
protocol: "http:"
search: "?name=jake&age=34"
username: ""
*/
url.searchParams.get('name')
// jake
url.searchParams.get('age')
// 34
url.searchParams.get('gender')
// null
使用:window.location.href。
如上所述,更新window.location时,document.URL不会更新。请参阅MDN。
对于带有查询字符串的完整URL:
document.location.toString()
对于主机URL:
window.location
Use:
window.location.href
正如评论中所指出的,下面这行行是有效的,但它对Firefox来说是错误的。
document.URL
请参阅DOMString类型的URL,只读。