我正在尝试了解如何使用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
做了什么?它说“提供当前的深层链接价值。”它甚至意味着什么?它有什么作用呢?
答案 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)