属性
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对象时,请确保你的操作符合网站的安全策略和用户体验要求。

