• 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'); //可以避免产生跳转前的历史记录,即不产生任何历史记录的跳转
  • 相关阅读:
    高斯拉普拉斯算子(Laplace of Gaussian)
    Windows的TCP协议参数
    poj 1182食物链(并查集)
    linux网络体系架构
    谈谈对于企业级系统架构的理解
    Redis源码解析(1)——源码目录介绍
    在多台服务器上简单实现Redis的数据主从复制
    利用Nginx做负载均衡
    C#中的BackgroundWorker控件
    C#中的线程(四)高级话题
  • 原文地址:https://www.cnblogs.com/LO-ME/p/3602893.html
Copyright © 2020-2023  润新知