我是靠谱客的博主 愉快咖啡,最近开发中收集的这篇文章主要介绍如何通过location对象获取当前页面(URL)相关信息,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

location对象定义了8个属性,其中7个属性分别指向当前URL的各部分信息,另1个属性href包含了完整的URL信息。

????举个栗子

看下面这条URL信息:

http://www.mysite.com:80/news/index.asp?id=123&name=location#top
  1. Href:当前文档的完整URL
  2. Protocal:URL的协议部分,包含后缀的冒号。例如,“http:”
  3. Host:URL的主机名和端口部分。例如,“www.mysite.com:80”
  4. Hostname:URL的主机名。例如,“www.mysite.com”
  5. Port:URL的端口部分。例如,“80”
  6. Pathname:URL的路径部分。例如,“news/index.asp”
  7. Search:URL的查询部分。例如,“?id=123&name=location”
  8. 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)相关信息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(28)

评论列表共有 0 条评论

立即
投稿
返回
顶部