我正在使用jQuery,我想要一个轻量级插件来编写和读取URL中的哈希参数。
例如,我希望能够阅读index.html#color=red&day=monday
之类的网址并获取{ color: 'red', day: 'monday' }
。
我还希望能够将参数写入散列,检查变量的存在,并根据需要添加或更新它。
有没有人知道轻量级插件可以做到这一点,还是我需要自己编写?
显然BBQ完成所有这些以及更多,但我不需要所有历史记录管理,而且我不愿意包含许多我不需要的代码。
答案 0 :(得分:3)
这将起作用,你可以把它放在一个函数中或直接使用它:
var hash = top.location.hash.replace('#', '');
var params = hash.split('&');
var result = {};
for(var i = 0; i < params.length; i++){
var propval = params[i].split('=');
result[propval[0]] = propval[1];
}
答案 1 :(得分:2)
purl可以读取片段参数:
$.url("index.html#color=red&day=monday").fparam("color"); // returns "red"
要编写它们,您可以使用jquery的$.param()
帮助程序。这是一个fiddle
答案 2 :(得分:1)
不确定轻量级的插件,但您可以使用类似
的插件 var hashdata = new Object();
jQuery.each(window.location.hash.replace(/^#/,'').split('&'), function(i,t){
var s = t.split('=');
hashdata[s[0]] = s[1];
});
如果我正确的话,应该在url中返回哈希数据的对象。然后知道当前的哈希数据,您可以使用window.location.hash来根据需要更改