属性
href
:获取或设置整个URL。protocol
:获取URL的协议部分,如"http:"或"https:"。host
:获取URL的主机名(包括端口号,如果有的话)。hostname
:获取URL的主机名(不包括端口号)。port
:获取URL的端口号。pathname
:获取URL的路径部分(URL中域名后的部分)。search
:获取URL的查询字符串部分(即"?"后面的部分)。hash
:获取URL的锚部分(即"#"后面的部分)。
方法
assign(URL)
:加载新的文档,替换当前文档。reload()
:重新加载当前文档。// reload(true) 强制刷新 = Ctrl + F5replace(URL)
:用新的文档替换当前文档,不会在历史记录中留下当前文档的URL。
示例
获取当前页面的URL
var currentUrl = window.location.href;
console.log(currentUrl);
重定向到新页面
window.location.href = 'https://www.example.com';
// 或者使用 assign 方法
window.location.assign('https://www.example.com');
刷新当前页面
window.location.reload();
替换当前页面(不会在历史记录中留下当前URL)
window.location.replace('https://www.example.com/new-page.html');
注意
- 直接在HTML标签中(如
<a>
标签)使用href
属性进行页面跳转,实际上是浏览器在解析HTML时自动处理的,并不直接涉及JavaScript的location
对象。 - 使用
location
对象进行URL操作时,应考虑到用户体验和SEO(搜索引擎优化)的影响,尤其是使用replace
方法时,因为它会从浏览器的历史记录中删除当前页面的URL。 - 在使用
location
对象时,请确保你的操作符合网站的安全策略和用户体验要求。