我正在使用数据表 JQuery 插件。我将它与 AJAX 和分页(服务器端)一起使用。每行都包含指向该记录详细视图的链接。单击该链接,然后单击后退按钮时,我想返回上一页。(注意:不能使用数据表自己的状态保存)。
如果您可以在将当前 url 放入历史记录之前将其添加到当前 url,则可以实现这一点。
这可以做到吗?纯 JS 或 JQuery 并不重要。
(注意:我很新做这种事情,已经阅读了关于使用 # 的信息但从未这样做过,所以如果你建议请提供一个适用于我的问题的示例)
编辑:
非常基本的 JQuery 插件 bbq 指南 (http://benalman.com/projects/jquery-bbq-plugin/)
假设 URL 具有 #a=2&b=test 的哈希值,您可以通过以下方式获取值:
//true = optional converts 2 to an integer, false to boolean,...
var a = $.bbq.getState('a',true);
您可以通过以下方式更改/添加值:
var hash = "a=3&b=hello";
$.bbq.pushState(hash);
pushState 触发 hashchange 事件以防它被绑定。绑定事件,但遵循 doucment.ready 函数:
// called when # part of URL is modified
$(window).bind( 'hashchange', function( event ) {
var hash = event.fragment; // full hash as string
var a = event.getState('a', true ); // value for a
// here do meaningful action like an AJAX request using the hash parameters
});