url中如何获取hash值,使用key-value返回

文章介绍了如何使用JavaScript的window.addEventListener监听hashchange事件,以及如何从URL的hash部分解析出键值对对象。作者提供了一个函数,通过split方法处理hash值并将其转换为对象形式。
摘要由CSDN通过智能技术生成

在网页加载中,我们如何进行监听hash值:

window.addEventListener("hashchange", function() {
    console.log("监听hash值 ");
});

然后比如一个网址是:http://****.com/index.html#name=zs&age=12&card=123123

我们是可以直接获取到hash值的,获取方法如下:

location.hash 

得出:#name=zs&age=12&card=123123  这样的一个值;

可是我们又希望得到的是:

{
    'name': 'zs',
    'age': 18,
    'card': 123123
}

这种的返回值;

我们可以如下操作:


    var hashParam = (function(){
        let objs = {}
        let hsh = location.hash;
        let hashc = hsh.slice(1, hsh.length);
        let hashv = hashc.split('&');
        if ( hashv.length > 0 ) {
            hashv.forEach(item => {
                let keys = item.split('=');
                objs[keys[0]] = keys[1];
            })
        }
        return objs
    })()

此时可以直接获取hash对象了,如有更好方法,可以在评论区建议,感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值