概述
location对象定义了8个属性,其中7个属性分别指向当前URL的各部分信息,另1个属性href
包含了完整的URL信息。
????举个栗子
看下面这条URL信息:
http://www.mysite.com:80/news/index.asp?id=123&name=location#top
- Href:当前文档的完整URL
- Protocal:URL的协议部分,包含后缀的冒号。例如,
“http:”
- Host:URL的主机名和端口部分。例如,
“www.mysite.com:80”
- Hostname:URL的主机名。例如,
“www.mysite.com”
- Port:URL的端口部分。例如,
“80”
- Pathname:URL的路径部分。例如,
“news/index.asp”
- Search:URL的查询部分。例如,
“?id=123&name=location”
- Hash:URL的中锚部分,包括前导符(#)。例如,
“#top”
,指定在文档中锚记的名称
接下来,定义一个获取URL查询字符串参数值的通用函数,来抽取每个参数和参数值:
var queryString = function (){
var q = location.search.substring(1); //获取查询字符串,这里指“id=123&name=location”部分
var a = q.split("&") //以&符号把查询条件分割开为数组
var 0 = {}; //定义临时对象
for(var i = 0; i<a.length; i++){ //遍历数组
var n = a[i].indexOf("="); //获取每个参数中的等号小标位置
if(n == -1) continue; //如果没有发现则跳到下一次循坏继续操作
var v1 = a[i].substring(0,1); //截取等号前的参数名称
var v2 = a[i].substring(n+1); //截取等号后的参数值
o[v1] = unescape(v2); // 以名/值对的形式储存在对象中
}
return o; //返回对象
}
然后在页面中调用该函数,即可获取URL中的查询字符串信息,并以对象的形式读取它们的值:
var f1 = queryString();
for(var i in f1){
alert(i + "=" + f1[i]);
}
如果当前页的URL没有查询字符串信息,用户可以在浏览器地址栏中补加完整的查询字符串,例如 “?id=123&name=location”
,再次刷新页面,即可显示查询的查询字符串信息。
注意:
location对象的属性都是可读可写的,如果改变了文档的location.href属性值,则浏览器就会载入新的页面。
最后
以上就是愉快咖啡为你收集整理的如何通过location对象获取当前页面(URL)相关信息的全部内容,希望文章能够帮你解决如何通过location对象获取当前页面(URL)相关信息所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复