JS_js获取当前完整的url地址及获取url地址中各个部分,window.location对象详解

window.location.host; //(域名 + 端口)返回url 的主机部分,例如:www.xxx.com 

window.location.hostname; //(域名)返回www.xxx.com 

window.location.href; //(当前URL)返回整个url字符串(在浏览器中就是完整的地址栏),例如:www.xxx.com/index.php?class_id=3&id=2 

window.location.pathname; //(路径部分)返回/a/index.php或者/index.php 

window.location.protocol; //(协议)返回url 的协议部分,例如: http:,ftp:,maito:等等。 

window.location.port //(端口)url 的端口部分,如果采用默认的80端口,那么返回值并不是默认的80而是空字符

window.location.search //(请求的参数) ?id=123&username=xxx

获取url地址参数

### JavaScript 获取当前页面 URL 地址栏 在 JavaScript 中,`window.location` 是用于操作当前窗口或框架的位置的对象。通过 `window.location.href` 可以轻松获取当前页面的完整 URL 地址。 以下是具体的实现方式: ```javascript // 定义一个函数来返回当前页面的完整 URL function getCurrentUrl() { return window.location.href; } console.log(getCurrentUrl()); ``` 上述代码展示了如何利用 `window.location.href` 来获取当前页面的完整 URL[^1]。 如果需要进一步解析 URL 参数,则可以结合正则表达式或其他内置对象完成更复杂的任务。例如,下面是一个通用方法用来提取特定键对应的值: ```javascript // 获取 URL 参数中的指定键值 function getUrlParameter(name) { const regex = new RegExp(`[?&]${name}=([^&#]*)`); const results = regex.exec(window.location.href); return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); } // 测试调用 const paramName = "example"; console.log(`${paramName} 的值为:`, getUrlParameter(paramName)); ``` 此部分逻辑基于正则匹配技术实现了单独查询某项参数的功能[^4]。 另外还有一种现代化的方式是借助 `URLSearchParams` 接口来进行批量或者单项读取工作: ```javascript // 使用 URLSearchParams 解析整个 URL 查询字符串并转换成对象形式 function parseQueryToObject(urlString) { const queryString = urlString.split('?')[1]; const searchParams = new URLSearchParams(queryString); // 将其转化为标准 JSON 对象结构 const result = {}; for (let pair of searchParams.entries()) { result[pair[0]] = pair[1]; } return result; } // 调试打印结果 const fullUrl = "https://test.com/path/to/resource?key=value&anotherkey=anothervalue"; console.log(parseQueryToObject(fullUrl)); ``` 这种方法不仅简洁明了而且兼容性较好,在大多数现代浏览器环境下均能正常运行[^3]。 #### 注意事项 对于某些特殊场景比如跨域加载资源文件等情况可能涉及到安全策略限制等问题需额外注意处理机制差异带来的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值