gpt4 book ai didi

javascript - 从 url 中检索特定哈希标记的值

转载 作者:数据小太阳 更新时间:2023-10-29 04:53:19 25 4
gpt4 key购买 nike

在原始 Javascript 中,如何检查 url 中是否存在特定哈希标记,然后获取值?

示例:http://www.example.com/index.html#hashtag1=value1&#hashtag2=value2

我希望能够获取 hashtag1hashtag2 的值。

最佳答案

    var HashSearch = new function () {
var params;

this.set = function (key, value) {
params[key] = value;
this.push();
};

this.remove = function (key, value) {
delete params[key];
this.push();
};


this.get = function (key, value) {
return params[key];
};

this.keyExists = function (key) {
return params.hasOwnProperty(key);
};

this.push= function () {
var hashBuilder = [], key, value;

for(key in params) if (params.hasOwnProperty(key)) {
key = escape(key), value = escape(params[key]); // escape(undefined) == "undefined"
hashBuilder.push(key + ( (value !== "undefined") ? '=' + value : "" ));
}

window.location.hash = hashBuilder.join("&");
};

(this.load = function () {
params = {}
var hashStr = window.location.hash, hashArray, keyVal
hashStr = hashStr.substring(1, hashStr.length);
hashArray = hashStr.split('&');

for(var i = 0; i < hashArray.length; i++) {
keyVal = hashArray[i].split('=');
params[unescape(keyVal[0])] = (typeof keyVal[1] != "undefined") ? unescape(keyVal[1]) : keyVal[1];
}
})();
}

使用它:

检查是否存在“哈希键”:

 HashSearch.keyExists("thekey");

获取哈希键的值:

 HashSearch.get('thekey');

设置哈希键的值,并更新 URL 哈希:

 HashSearch.set('thekey', 'hey');

从 URL 中删除哈希键:

 HashSearch.remove('thekey');

将散列重新加载到本地对象中:

 HashSearch.load();

将当前键值集推送到 URL 哈希:

 HashSearch.push();

请注意,当一个键不存在并且您尝试获取它时,它将返回undefined。但是,键可以没有值存在——例如 #key=val&novalue,其中 novalue 是没有值的键。如果您执行 HashSearch.get("novalue"),它也会返回 undefined。在这种情况下,您应该使用 HashSearch.keyExists("novalue") 来验证它确实是一个键。

关于javascript - 从 url 中检索特定哈希标记的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3729150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com