如何在该应用程序中正确实现History.js或任何其他替代方案(jquery bbq、pjax、jquery adre



我正在处理的页面的核心如下http://jsfiddle.net/AUCYf/1/当用户从搜索引擎登陆时,应该打开"切换框"中已搜索到的内容。我发现了很多关于AJAX可爬网的教程,但我一直在实现标题中提到的脚本

现在发生的事情是,当我点击按钮"LINK1"时,div1打开,url为:mypage.com/#LINK1
我需要在直接访问mypage.com/#link1时打开div1。此外,因为可以同时打开更多的div,有没有一种方法可以像mypage.com/#link1&link3

使用jQuery BBQ实现这一点的一种常见方法是绑定到窗口hashchange事件以处理基于ajax哈希历史的导航,然后在首次加载应用程序时手动触发hashchange。

jQueryBBQ使用参数化哈希状态,可以独立管理多个参数。例如,你的url可能看起来像

mypage.com/#a=link1&b=link3

为了实现这一点,您需要将onclick事件更改为使用BBQ pushState,而不是仅在锚上使用href="#link1"。

把所有这些放在一起,我们可以得到这样的东西:

$('.show_hide1').click(function(){
    $.bbq.pushState({'a':'link1'});
});
...
$(window).bind( 'hashchange', function(e) {
    var state = $.bbq.getState();
    //do something with the state
    if(state['a'] === 'link1') {
        $(".slidingDiv1").fadeToggle();
    }
    ...
}
$(window).trigger('hashchange');

$(window).触发器('hashchange')将在加载脚本时激发,并自动从URL加载适当的内容。

看看这里的jQueryBBQ文档,你可能想看看他独立管理多个哈希状态的例子。

相关内容

  • 没有找到相关文章

最新更新