当前位置 主页 > 服务器问题 > Linux/apache问题 >

    JavaScript获取当前url路径过程解析

    栏目:Linux/apache问题 时间:2020-01-04 10:37

    这篇文章主要介绍了JavaScript获取当前url路径过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    1、假设当前页完整地址是:http://localhost:61768/Home/Index?id=2&age=18

    //获取当前窗口的Url
    var url = window.location.href;
    //结果:http://localhost:61768/Home/Index?id=2&age=18
    
    //获取当前窗口的主机名
    var host = window.location.host;
    //结果:localhost:61768
    
    //获取当前窗口的端口
    var port = window.location.port;
    //结果:61768
    
    //获取当前窗口的路径
    var pathname = window.location.pathname;
    //结果:/Home/Index
    
    //获取当前文档的Url
    var URL = document.URL;
    //结果:http://localhost:61768/Home/Index?id=2&age=18
    
    //获取参数
    var search = window.location.search;
    //结果:?id=2&age=18

    2、分隔 url 中的参数

    var search = window.location.search;
    var age = getSearchString('age', search); //结果:18
    var id = getSearchString('id', search); //结果:2
    //key(需要检索的键) url(传入的需要分割的url地址,例:?id=2&age=18)
    function getSearchString(key, Url) {
      var str = Url;
      str = str.substring(1, str.length); // 获取URL中?之后的字符(去掉第一位的问号)
      // 以&分隔字符串,获得类似name=xiaoli这样的元素数组
      var arr = str.split("&");
      var obj = new Object();
    
      // 将每一个数组元素以=分隔并赋给obj对象 
      for (var i = 0; i < arr.length; i++) {
        var tmp_arr = arr[i].split("=");
        obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
      }
      return obj[key];
    }

    3、跳出当前窗口

    //跳出当前窗口,打开新窗口
    window.open(http://www.baidu.com);

    4、document与window

    document默示的是一个文档对象,window默示的是一个窗口对象,一个窗口下可以有多个文档对象。

    所以一个窗口下只有一个window.location.href,可能有多个document.URL、document.location.href

    window.location.href 和 document.location.href 可以被赋值,然后跳转到其它页面,document.URL只能读不能赋值。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。