我只想获取网站URL。不是从链接获取的URL。在页面加载时,我需要能够获取网站的完整、当前URL,并将其设置为一个变量,以便根据需要进行处理。
当前回答
Nikhil Agrawal的回答很好,只是在这里添加了一个小示例,您可以在控制台中看到不同的组件:
如果您想要不带路径或查询参数的基本URL(例如,对其执行AJAX请求以在开发/登台和生产服务器上运行),window.location.origin是最好的,因为它保留了协议和可选端口(在Django开发中,有时会有一个非标准端口,如果您只使用主机名等,就会中断它)
其他回答
在jstl中,我们可以使用pageContext.request.contextPath访问当前的URL路径。如果要进行Ajax调用,请使用以下URL。
url = "${pageContext.request.contextPath}" + "/controller/path"
示例:对于页面http://stackoverflow.com/posts/36577223这将给http://stackoverflow.com/controller/path.
您可以使用以下方法获取带有哈希标记的当前URL位置:
JavaScript:
// Using href
var URL = window.location.href;
// Using path
var URL = window.location.pathname;
jQuery:
$(location).attr('href');
使用window.location对与当前帧关联的位置对象进行读写访问。如果您只想以只读字符串形式获取地址,可以使用document.URL,它应该包含与window.location.href相同的值。
对于带有查询字符串的完整URL:
document.location.toString()
对于主机URL:
window.location
添加结果以供快速参考
窗口位置;
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"
推荐文章
- JavaScript变量声明在循环外还是循环内?
- 元素在“for(…in…)”循环中排序
- 在哪里放置JavaScript在HTML文件?
- 什么时候.then(success, fail)被认为是承诺的反模式?
- 从浏览器下载JSON对象作为文件
- .append(), prepend(), .after()和.before()
- throw Error('msg') vs throw new Error('msg')
- 是否有一种内置的方法来循环遍历对象的属性?
- 如何限制谷歌自动完成结果的城市和国家
- 如何在猫鼬排序?
- 清除javascript控制台在谷歌Chrome
- 在范围内获取所有变量
- 我如何使用多个引用的元素与挂钩数组?
- 组件中useState对状态更新器的多次调用会导致多次重渲染
- 什么是useState()在React?