一、获取URL
top.location可以用来获取当前窗口(或帧)的URL地址。例如:
var url = top.location.href; console.log(url); // 打印当前页面的URL地址
使用top.location.href可以简单地重定向到新的URL地址:
top.location.href = 'http://www.example.com';
二、修改URL
可以使用top.location对当前URL地址进行修改。
使用top.location.replace将当前URL地址替换为新的URL地址:
top.location.replace('http://www.example.com');
使用top.location.assign可以在不丢失当前URL历史记录的情况下,跳转到新的URL地址:
top.location.assign('http://www.example.com');
使用top.location.reload可以重新加载当前URL:
top.location.reload();
三、获取URL的不同部分
top.location可以用来获取URL的不同部分,包括协议、主机、路径、查询参数、锚点。
1. 协议:
var protocol = top.location.protocol; console.log(protocol); // 打印当前页面的协议,如:http、https、file等
2. 主机:
var hostname = top.location.hostname; console.log(hostname); // 打印当前页面的主机,如:www.example.com
3. 路径:
var pathname = top.location.pathname; console.log(pathname); // 打印当前页面的路径,如:/folder/index.html
4. 查询参数:
var search = top.location.search; console.log(search); // 打印当前页面的查询参数,如:?key1=value1&key2=value2
5. 锚点:
var hash = top.location.hash; console.log(hash); // 打印当前页面的锚点,如:#section1
四、使用top.location的注意事项
1. top.location只能用于当前窗口或帧。
2. 使用top.location跳转页面时,需要注意跨域问题。
3. top.location虽然可以获取任意URL的不同部分,但不建议在生产环境中使用,因为该方法有安全风险(例如:可能被用于进行跨站脚本攻击)。
五、总结
top.location是一个非常实用的属性,可以用于获取、修改当前页面的URL地址,以及获取URL的不同部分。但在使用时需要注意安全问题和跨域问题。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/151298.html