假设当前页完整地址是:http://localhost:61768/Home/Index?id=2&age=18
//获取当前窗口的Url var url = window.location.href; //结果:http://localhost:61768/Home/Index?id=2&age=18 //获取当前窗口的主机名 var host = window.location.host; //结果:localhost:61768 //获取当前窗口的端口 var port = window.location.port; //结果:61768 //获取当前窗口的路径 var pathname = window.location.pathname; //结果:/Home/Index //获取当前文档的Url var URL = document.URL; //结果:http://localhost:61768/Home/Index?id=2&age=18 //获取参数 var search = window.location.search; //结果:?id=2&age=18
分隔 url 中的参数
var search = window.location.search; var age = getSearchString('age', search); //结果:18 var id = getSearchString('id', search); //结果:2 //key(需要检索的键) url(传入的需要分割的url地址,例:?id=2&age=18) function getSearchString(key, Url) { var str = Url; str = str.substring(1, str.length); // 获取URL中?之后的字符(去掉第一位的问号) // 以&分隔字符串,获得类似name=xiaoli这样的元素数组 var arr = str.split("&"); var obj = new Object(); // 将每一个数组元素以=分隔并赋给obj对象 for (var i = 0; i < arr.length; i++) { var tmp_arr = arr[i].split("="); obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]); } return obj[key]; }
跳出当前窗口
//跳出当前窗口,打开新窗口 window.open("http://www.baidu.com");
document与window
document默示的是一个文档对象,window默示的是一个窗口对象,一个窗口下可以有多个文档对象。
所以一个窗口下只有一个window.location.href,可能有多个document.URL、document.location.href
window.location.href 和 document.location.href 可以被赋值,然后跳转到其它页面,document.URL只能读不能赋值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了