JavaScript浏览器对象模型(BOM)之location对象

一、概述:

    location 是 BOM 对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。

    事实上,location 对象是 window 对象的属性,也是 document 对象的属性;所以 window.location 和 document.location 等效。
    JavaScript浏览器对象模型(BOM)之location对象

    JavaScript浏览器对象模型(BOM)之location对象

 

 

 

二、属性:

alert(location); //获取当前的 URL
  location.hash = '#1'; //设置#后的字符串,并跳转

    alert(location.hash); //获取#后的字符串

    

    location.port = 8888; //设置端口号,并跳转

    alert(location.port); //获取当前端口号,

    

    location.hostname = 'Lee'; //设置主机名,并跳转

    alert(location.hostname); //获取当前主机名,

    

    location.pathname = 'Lee'; //设置当前路径,并跳转

    alert(location.pathname); //获取当前路径,

    

    location.protocal = 'ftp:'; //设置协议,没有跳转

    alert(location.protocol); //获取当前协议

    

    location.search = '?id=5'; //设置?后的字符串,并跳转

    alert(location.search); //获取?后的字符串
location.href = 'http://www.baidu.com'; //设置跳转的 URL,并跳转

alert(location.href); //获取当前的 URL

    在 Web 开发中,我们经常需要获取诸如?id=5&search=ok 这种类型的 URL 的键值对,那么通过 location,我们可以写一个函数,来一一获取。

function getArgs() {

 

        var args = [];            //创建一个存放键值对的数组

    

        var qs = location.search.length > 0 ? location.search.substring(1):'';        //去除?号

    

        var item = null, name = null, value = null;           

        var items = qs.split('&'); //按&字符串拆分数组

        //遍历

        for (var i = 0; i < items.length; i++) {

            item = items[i].split('=');

            name = item[0];

            value = item[1];

            args[name] = value;            //把键值对存放到数组中去

        }

        return args;

    }

    var args = getArgs();

    alert(args['id']);

    alert(args['search']);    

 

 

 

 

三、方法

    location.assign('http://www.baidu.com'); //跳转到指定的 URL

    location.reload(); //最有效的重新加载,有可能从缓存加载

    location.reload(true); //强制加载,从服务器源头重新加载

    location.replace('http://www.baidu.com'); //可以避免产生跳转前的历史记录,即不产生任何历史记录的跳转

你可能感兴趣的:(JavaScript)