本文详细解析如何利用 JavaScript 的 location 对象获取 URL 的完整地址、域名、协议、端口、路径、哈希值及查询参数。通过具体代码示例,展示如何提取问号后的参数及等号后的值,帮助开发者快速掌握前端 URL 信息处理技巧。
获取完整 URL
以“http://www.cnblogs.com/wuxibolgs329/p/6188619.html#flag?test=12345”为例,接下来将介绍如何获取该 URL 的各个组成部分。
1、获取页面完整的url
var a=location.href;
console.log(a); // “http://www.cnblogs.com/wuxibolgs329/p/5261577.html#flag?test=12345”
获取域名、协议与端口
2、获取页面的域名
var host = window.location.host; //www.cnblogs.com
var host2 = document.domain; //www.cnblogs.com
var a = location.hostname; //www.cnblogs.com
3、获取url协议
var a=location.protocol;
console.log(a); //http:
4、获取端口
var a=location.port;
console.log(a);
获取页面路径与协议设置
5、获取页面路径
var a=location.pathname;
console.log(a);
6、设置或获取 URL 的协议部分
var a = location.protocol;
获取哈希与查询参数
7、获取#后的部分
var a=window.location.hash;
var b=a.substr(1);
console.log(b); // flag?test=12345
8、获取 href 属性中跟在问号?后面的部分
// 此时案例地址变为“http://www.cnblogs.com/wuxibolgs329/p/5261577.html?test=12345”。得到 test=12345
var a=location.search;
var b=a.substr(1);
console.log(b);
//如果案例依旧是“http://www.cnblogs.com/wuxibolgs329/p/5261577.html#flag?test=12345”,则需下面的写法,得到 test=12345
var a=location.href;
var b=a.substr(a.lastIndexOf('?')+1);
console.log(b);
9、获取 = 号后面的部分
var a=location.href;
var b=a.substring(a.lastIndexOf('=')+1);
console.log(b); // 12345
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持本站!