【问题标题】:changing page title on back button with jQuery Address使用 jQuery 地址更改后退按钮上的页面标题
【发布时间】:2012-01-26 09:04:26
【问题描述】:

利用 jQuery Address 启用浏览器的后退按钮,我能够利用插件的事件“onExternalChange”来检测浏览器何时实际点击后退按钮,这样我也可以触发页面标题更改。不幸的是,我不能让它抓住当前部分,因为它在跳跃之前抓住它,因此每次都是一个关闭:

$.address.externalChange(function() {
    var lastPageTitle = 'Kevin Dare Foundation | ' + $('nav').find('.active').html();
    $.address.title(lastPageTitle);
});

链接:http://nickdimatteo.com/kjd

【问题讨论】:

  • 所以让我直说吧;如果用户单击后退按钮,您要更改正在加载的页面的标题(上一页)?
  • 是的!我粘贴的代码就是这样做的,它从活动导航链接中抓取 html 以生成标题文本,但是(我相信)它在切换到新部分之前抓取了活动状态,因此抓取了错误的“活动”部分。
  • 我想我找到了解决办法:snippi.com/s/wa9tgi3
  • 发布解决方案,以防其他人在这里徘徊寻找答案。

标签: javascript jquery browser-history


【解决方案1】:

看起来像以下解决了这个问题:

//Change Page Title on browser back button press
$.address.externalChange(function() {
    var hash = document.location.hash.replace(/^#\//, '');
    var lastPageTitle = 'Kevin Dare Foundation | ' + $('nav a[href="#'+hash+'"]').html();
    if(hash) {
    $.address.title(lastPageTitle);
    }
    else //account for no hash
  {
  $.address.title('Kevin Dare Foundation');
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2013-12-05
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    相关资源
    最近更新 更多