一、获取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的不同部分,包括协议、主机、路径、查询参数、锚点。
- 协议:
var protocol = top.location.protocol;
console.log(protocol); // 打印当前页面的协议,如:http、https、file等
- 主机:
var hostname = top.location.hostname;
console.log(hostname); // 打印当前页面的主机,如:www.example.com
- 路径:
var pathname = top.location.pathname;
console.log(pathname); // 打印当前页面的路径,如:/folder/index.html
- 查询参数:
var search = top.location.search;
console.log(search); // 打印当前页面的查询参数,如:?key1=value1&key2=value2
- 锚点:
var hash = top.location.hash;
console.log(hash); // 打印当前页面的锚点,如:#section1
四、使用top.location的注意事项
top.location
只能用于当前窗口或帧。- 使用
top.location
跳转页面时,需要注意跨域问题。 top.location
虽然可以获取任意URL的不同部分,但不建议在生产环境中使用,因为该方法有安全风险(例如:可能被用于进行跨站脚本攻击)。
五、总结
top.location
是一个非常实用的属性,可以用于获取、修改当前页面的URL地址,以及获取URL的不同部分。但在使用时需要注意安全问题和跨域问题。