Javascript jQuery:将参数写入和读取URL哈希的轻量级方法?

Javascript jQuery:将参数写入和读取URL哈希的轻量级方法?,javascript,jquery,url,jquery-plugins,Javascript,Jquery,Url,Jquery Plugins,我正在使用jQuery,我想要一个轻量级插件来从URL写入和读取散列参数 例如,我希望能够读取像index.html#color=red&day=monday这样的URL,并获得{color:'red',day:'monday'} 我还希望能够将参数写入散列,检查是否存在变量,并根据需要添加或更新它 有谁知道一个轻量级插件可以做到这一点,还是我需要自己编写 显然,我做了所有这些,还有更多,但我不需要所有的历史管理,我不愿意包含很多我不需要的代码 不确定是否有轻量级插件,但您可以使用 va

我正在使用jQuery,我想要一个轻量级插件来从URL写入和读取散列参数

例如,我希望能够读取像
index.html#color=red&day=monday
这样的URL,并获得
{color:'red',day:'monday'}

我还希望能够将参数写入散列,检查是否存在变量,并根据需要添加或更新它

有谁知道一个轻量级插件可以做到这一点,还是我需要自己编写


显然,我做了所有这些,还有更多,但我不需要所有的历史管理,我不愿意包含很多我不需要的代码

不确定是否有轻量级插件,但您可以使用

    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来更改该数据

不确定是否有轻量级插件,但您可以使用

    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在需要时更改该数据

这将起作用,您可以将其放入函数中或直接使用它:

  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];
    }
var hash=top.location.hash.replace('#','');
var params=hash.split('&');
var result={};
对于(变量i=0;i
这将起作用,您可以将其放入函数中或直接使用:

  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];
    }
var hash=top.location.hash.replace('#','');
var params=hash.split('&');
var result={};
对于(变量i=0;i
可以读取片段参数:

$.url("index.html#color=red&day=monday").fparam("color"); // returns "red"
要编写它们,可以使用jquery的
$.param()
助手。下面是一个可以读取片段参数的

$.url("index.html#color=red&day=monday").fparam("color"); // returns "red"

要编写它们,可以使用jquery的
$.param()
助手。这里有一个

谢谢-我已经有一些类似的代码了。棘手的一点是写入URL,检查变量是否已经存在。我希望有一个插件,但如果没有,我想我会写一些自定义的东西。谢谢-我已经有一些类似的代码了。棘手的一点是写入URL,检查变量是否已经存在。我希望有一个插件,但如果没有,我想我会写一些自定义的东西。