jQuery地址/深层链接问题

时间:2011-08-17 16:57:32

标签: jquery plugins browser-history deep-linking jquery-address

我正在开发的网站上有一个标签部分,并希望为每个标签启用唯一的网址,以及历史记录支持。

似乎jQuery Address插件是可行的方法,但我在实现它时遇到了麻烦。我可以分配URL并更改地址栏。后退按钮遍历URL,但实际上并未更改选项卡。

地址文档不是很好。我假设我缺少某种事件监听器,但我不确定如何初始化它或将其应用到什么。

这是我的JS

$('.sm-tab').click(function() {
    $.address.value($('a', this).attr('href'));
    smReset();
    $('#sm-tabs').find('.active').each(function() {
        $(this).removeClass('active');
        $(this).addClass('inactive');
    });
    $(this).removeClass('inactive');
    $(this).addClass('active');
    var smClassArray = $(this).attr('class').split(" ");
    var smDivClass = smClassArray[1];
    $('#'+smDivClass).show();
});

我的HTML看起来像这样

<div id="sm-tabs">
    <div class="sm-tab inactive twitter">
        <span class="twitter sprite-sm-twitter"><a href="?tab=twitter" class="hidetext">Twitter</a></span>
    </div>
    <div class="sm-tab inactive youtube">
        <span class="youtube sprite-sm-youtube"><a href="?tab=youtube" class="hidetext">YouTube</a></span>
    </div>
</div>

<div id="sm-widgets">
    <div id="twitter">
        Content
    </div>
    <div id="youtube">
        Content
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

使用散列进行ajax导航会打开a whole can of worms

请尝试使用HTML5历史记录API的this deep-linking script