我只想获取网站URL。不是从链接获取的URL。在页面加载时,我需要能够获取网站的完整、当前URL,并将其设置为一个变量,以便根据需要进行处理。
当前回答
使用:window.location.href。
如上所述,更新window.location时,document.URL不会更新。请参阅MDN。
其他回答
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
currentPageUrlIs = this.href.toString().toLowerCase();
}else{
currentPageUrlIs = document.location.toString().toLowerCase();
}
以上代码也可以帮助某人
对于那些想要一个实际的URL对象的人,可能是一个以URL为参数的实用程序:
const url = new URL(window.location.href)
https://developer.mozilla.org/en-US/docs/Web/API/URL
获取当前位置对象的方法是window.location。
将其与document.location进行比较,后者最初仅以字符串形式返回当前URL。可能是为了避免混淆,document.location被document.URL替换。
而且,所有现代浏览器都会将document.location映射到window.location。
实际上,为了跨浏览器安全,应该使用window.location而不是document.location。
使用window.location对与当前帧关联的位置对象进行读写访问。如果您只想以只读字符串形式获取地址,可以使用document.URL,它应该包含与window.location.href相同的值。
添加结果以供快速参考
窗口位置;
Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ, …}
文档位置
Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ
, …}
窗口位置路径名
"/questions/1034621/get-the-current-url-with-javascript"
窗口.location.href
"https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript"
位置主机名
"stackoverflow.com"