Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery地址更改后退按钮上的页面标题_Javascript_Jquery_Browser History - Fatal编程技术网

Javascript 使用jQuery地址更改后退按钮上的页面标题

Javascript 使用jQuery地址更改后退按钮上的页面标题,javascript,jquery,browser-history,Javascript,Jquery,Browser History,利用jQuery地址来启用浏览器的后退按钮,我能够利用插件的事件“onExternalChange”来检测浏览器何时实际点击后退按钮,这样我也可以触发页面标题的更改。不幸的是,我无法让它抓住当前部分,因为它在跳跃之前就抓住了它,因此每次都是一次性的: $.address.externalChange(function() { var lastPageTitle = 'Kevin Dare Foundation | ' + $('nav').find('.active').html();

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

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

链接:

看起来如下所示解决了问题:

//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');
  }
});

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