zoukankan      html  css  js  c++  java
  • JavaScript高级程序设计之location对象

    location对象用来处理URL的相关信息

    1、获取查询字符串

    // 获取查询字符串对象
    var getQueryStringArgs = function () {
    
        var qs = (location.search.length > 0 ? location.search.slice(1) : ""),
            args = {},  // 保存要返回的数据对象
            items = (qs.length > 0 ? qs.split("&") : []),  // &符split后的数组,数据项
            item = [],  // =号split后的数组,每个数据项的json表达
            name = "",
            value = "",  // 
            len = items.length,
            i;
    
        for (i = 0; i < len; i += 1) {
    
            item = items[i].split("=");
            
            // 查询字符串应该是被编码过的,所以解码
            name = decodeURIComponent(item[0]);
            value = decodeURIComponent(item[1]);
    
            if (name.length) {
                args[name] = value;
            }
        }
    
        return args;
    };

    2、location 与 http 请求

    // 一个含有search 和 hash的url,查询字符串要在hash片段的前面
    var url = "http://www.so.com/?q=javascript#section1";
    
    // 切换到新的地址
    location.href = "http://www.so.com/";
    
    // 添加查询字符串重新请求
    location.search = "?q=javascript";
    
    // 到目标目录文件夹发起新的请求
    location.pathname = "js";
    
    // 向url添加hash字符串,不会产生新的http请求
    location.hash = "#section1";
    
    // 刷新页面
    location.reload();
    
    // 强制刷新页面
    location.reload(true);
    
    // 补充history:返回的特定的历史记录,发起新的http请求
    history.go(-1);
  • 相关阅读:
    Redis流程初始认知
    浅谈windows和linux进程和线程的区别
    linux下的信号量PV操作进阶之路
    linux下线程以及pthread库
    分清问题的主次
    linux下主线程return 0和pthread_exit(NULL)的区别
    进程和线程的区别
    注意搜索的陷阱
    模拟主线程等待子线程的过程
    【伯乐在线】编程面试的10大算法概念汇总
  • 原文地址:https://www.cnblogs.com/xiankui/p/3759027.html
Copyright © 2011-2022 走看看