版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cheng_cuo_tuo/article/details/86620188
<script>
/*
URL:
http://www.mysite.cn:80/news/index.asp?id=123&name=locaton#top
Location对象的属性
href 声明当前显示文档的完整URL,与其他Locations属性只声明部分URL不同,把该属性设置为新的URL会使浏览器读取并显示新的URL的内容。
protocol 声明当前URL中的协议部分,包含后缀的冒号 "http:"
host 声明当前URL中的主机名和端口号 www.mysite.cn:80
hostname 声明当前URL中的主机名 www.mysite.cn
port 声明当前URL中的端口号 80
pathname 声明当前URL中的路径部分 new.index.asp
search 声明当前URL中的查询部分,也包括前导问号 ?id=123&name=location
hash 声明当前URL中锚部分,包含前导符# #top 指定在文档中锚标记的名称
*/
//获取URL查询字符串参数值,可以抽取每个参数和参数值
var queryString = function(){
var q = location.search.substring(1); //获取查询字符串
var a = q.split("&");
var o = {};
for (var i = 0, len = a.length; i < len; i++){
var n = a[i].indexOf("=");
if (n == -1) continue;
var v1 = a[i].substring(0, n);
var v2 = a[i].substring(n + 1);
o[v1] = unescape(v2); //以名/值对的形式存储在对象中
}
return o;
}
var f1 = queryString();
for (var i in f1){
document.write(i + "=" + f1[i] + "</br>");
}
/*
Location对象的这些属性都是可读可写的,如果改变了文档的location.href属性值,则浏览器就会载入新的页面。同样的,
如果改变了location.hash属性值,则页面会跳转到新的锚点(<a name="anchor">或<element id="anchor">),但此时
页面时不会重载的。例如:location.hash = '#top'
*/
</script>
/*
Link对象也包含一个URL属性,不过Link对象表示的时文档中的超链接,而Location对象表示的是浏览器当前
显文档的URL。Location对象能动态控制浏览器显示的文档,如果把一个含有URL的字符串赋给Location对象或它的
href属性,浏览器就会把新的URL所指的文档装在进来,并显示出来。
*/