zoukankan      html  css  js  c++  java
  • JavaScript浏览器对象模型(BOM)之location对象

    一、概述:

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

        事实上,location 对象是 window 对象的属性,也是 document 对象的属性;所以 window.location 和 document.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'); //可以避免产生跳转前的历史记录,即不产生任何历史记录的跳转
  • 相关阅读:
    解决点击链接自动置顶问题
    ie6 下遮罩层 height 不显示100%的解决方法
    【转帖】微软分布式缓存框架Volocity资源推荐
    Tips 2 MVC实现多个按钮提交的几种方法
    .NET Framework 4 中的新增功能
    Memcached 汇总 不断更新
    理解敏捷Agile
    GPIOPS中断成功,问题仍旧存在 ZEDBOARD,ZYNQ7000
    Xilinx驱动API的一个重要BUG,ZEDBOARD,ZYNQ7000
    RelativeLayout相对布局
  • 原文地址:https://www.cnblogs.com/LO-ME/p/3602893.html
Copyright © 2011-2022 走看看