js获取url参数及location对象详解

作者: bkbtp 分类: 前端 发布时间: 2018-05-07 15:16

正则匹配获取参数

function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg);  //匹配目标参数
    if (r != null) return decodeURIComponent(r[2]); return null; //返回参数值
}

调用实例

// http://127.0.0.1:8020/demo.html?page=2#abc
var page = getUrlParam('page');  // 2

Location对象详解

blob.jpg

// http://127.0.0.1:8020/demo.html?page=2#abc
window.location.hash       // #abc
window.location.host       // 127.0.0.1:8020
window.location.hostname   // 127.0.0.1
window.location.href       // http://127.0.0.1:8020/demo.html?page=2#abc
window.location.pathname   // /demo.html
window.location.port       // 8020
window.location.protocol   // http:
window.location.search     // ?page=2

location.assign() 会在浏览器的历史记录中增加一条新纪录.

location.reload(false) 会重新加载当前页面,默认不传参如果存在缓存会从浏览器缓存中加载;如果传入Boolean类型的true,则会强制从服务器加载.

location.replace() 会使用新URL覆盖浏览器的当前历史记录.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。