jquery地址你怎么用它?

ajs*_*sie 16 ajax jquery deep-linking jquery-address

我试图了解如何使用jQuery地址插件来处理与ajax的深层链接.

但文档很差,我找不到任何好的教程来解释发生了什么.

我认为一个包含好例子的好文档对每个插件都很重要.

有人可以解释或提供一些有用的链接来解释吗?

$.address.change(function(event) {  
    // do something depending on the event.value property, e.g.  
    // $('#content').load(event.value + '.xml');  
});  
$('a').click(function() {  
    $.address.value($(this).attr('href'));  
});  
Run Code Online (Sandbox Code Playgroud)

我的意思是,做$.address.value什么?它说"提供当前的深层链接价值." 它甚至意味着什么?它有什么作用呢?

小智 14

一个快速的tut:使用AJAX的最大警告是URL没有改变,因此后退按钮不起作用+链接不被抓取.解决方法是使用URL中的页面部分锚点#符号.基于hashsign之后的数据,您可以使用AJAX,加载可抓取的pageparts等.

唯一的问题是,大多数浏览器没有URL更改事件,基于此可以加载AJAX内容,所以插件正在做的事实是它不时地监视URL并且如果它发生了变化,触发器基于tha-hash-sign-parameters的事件.所以基本上你在这里做的是

    $('a').click(function() {  
    **//change the after-hash-sign-params to the value of the clicked link**
        $.address.value($(this).attr('href'));

    });
    $.address.change(function(event) { 
 **//define an event handler based on the params...**
         if (event.value = 'sortbyname')
            sortstuffbyname()
else if (event.value ='sortbysomethingelse')
         sortstuffbysomethingelse();
        // do something depending on the event.value property, e.g.  
        // $('#content').load(event.value + '.xml');  
    });  
Run Code Online (Sandbox Code Playgroud)

我从未尝试过其他插件,但工作原理可能是相同的.


Ale*_*ton 8

该插件似乎有适度的文档,但如果你正在寻找更深入的东西来做同样的事情,我会查看jQuery BBQ:http://benalman.com/projects/jquery-bbq-插入/

这是$ .param实现被放入jQuery 1.4,它的deparam实现是目前唯一能够读取新格式的东西.此外,文档很棒.