jquery地址你怎么用它?

时间:2009-12-23 23:51:50

标签: jquery ajax 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'));  
});  

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

4 个答案:

答案 0 :(得分:14)

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

唯一的问题是,大多数浏览器没有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');  
    });  

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

答案 1 :(得分:8)

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

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

答案 2 :(得分:2)

找到这个在线教程,我认为这有助于我们理解如何使用jQuery地址。代码示例也在那里提供。值得一看。

http://www.thetutorialblog.com/jquery/deep-linking-with-jquery/

答案 3 :(得分:0)

我也在这个网站上找到如何使用Jquery地址和机会来使用它来构建他们的视差网站。

网址:http://www.goodstuph.org/#/home

希望有所帮助。