欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS如何获取地址栏的参数实例讲解

程序员文章站 2022-06-13 09:16:27
地址:http://127.0.0.1:8082/prosperleedir/index.html?id=6666&name=prosper#prosper...

地址:http://127.0.0.1:8082/prosperleedir/index.html?id=6666&name=prosper#prosper

location{

 assign:ƒ (),         // 加载新的文档。

 hash:"#prosper",       // 设置或返回从井号 (#) 开始的 url(锚)。

 host:"127.0.0.1:8082",    // 设置或返回主机名和当前 url 的端口号。

 hostname:"127.0.0.1",     // 设置或返回当前 url 的主机名。

 href:"http://127.0.0.1:8082/prosperleedir/index.html?id=6666&name=prosper#prosper",   // 设置或返回完整的 url。

 origin:"http://127.0.0.1:8082",    // 返回当前 url 的协议和主机名和当前 url 的端口号。

 pathname:"/prosperleedir/index.html",      // 设置或返回当前 url 的路径部分。

 port:"8082",       // 设置或返回当前 url 的端口号。

 protocol:"http:",      // 设置或返回当前 url 的协议。

 reload:ƒ reload(),      // 重新加载当前文档。

 replace:ƒ (),       // 用新的文档替换当前文档。

 search:"?id=6666&name=prosper",     // 设置或返回从问号 (?) 开始的 url(查询部分)。

 tostring:ƒ tostring(),      // 返回完整的 url。

}

加载新的文档。

window.location.assign(http://www.baidu.com);

用新的文档替换当前文档。

window.location.replace(http://www.baidu.com);

重新加载当前文档。

如果该方法没有规定参数,或者参数是 false,它就会用 http 头 if-modified-since 来检测服务器上的文档是否已改变。如果文档已改变,reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。这与用户单击浏览器的刷新按钮的效果是完全一样的。

如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 shift 健的效果是完全一样。

window.location.reload(true);

window.location.reload(false);

返回完整的 url。

console.log(window.location.tostring());

JS如何获取地址栏的参数实例讲解

/**

     * [geturlparam 获取地址栏传参]

     * @param {[string]} paramname [参数名]

     * @return {[string]}      [参数值]

     */

    function geturlparam(paramname) {

           

      var reg = new regexp("(^|&)" + paramname + "=([^&]*)(&|$)");

 

      // 查询匹配 substr(1)删除? match()匹配

      var s = window.location.search.substr(1).match(reg);

 

      if (s != null) {

 

        return unescape(s[2]); // unescape() 函数可对通过 escape() 编码的字符串进行解码。

 

      }

 

      return null;

 

    }

 

    // ?id=6666&name=prosper

    geturlparam('id'); // s的输出为["id=6666&","","6666","&"]

    geturlparam('name'); // s的输出为["name=prosper","&","prosper",""]