Javascript 在两个不同的功能中更改文档标题

Javascript 在两个不同的功能中更改文档标题,javascript,jquery,document,title,Javascript,Jquery,Document,Title,我有一个函数,可以在有通知时更改文档标题,然后返回到原始标题。这很好,当有任何通知时,它会将标题更改为(1)Foo,然后返回到Foo var original_title = $('title').text(); (function getnotifications() { $.ajax({ dataType: "json", url: "foo.com/query_notifications.php?ajax=1", cache: false, asyn

我有一个函数,可以在有通知时更改文档标题,然后返回到原始标题。这很好,当有任何通知时,它会将标题更改为
(1)Foo
,然后返回到
Foo

var original_title = $('title').text();

(function getnotifications() {

  $.ajax({
    dataType: "json",
    url: "foo.com/query_notifications.php?ajax=1",
    cache: false,
    async: true,
    success: function(data){
      var total_notifications = data.total_notifications;

      if(total_notifications > 0) {
        document.title = ("("+total_notifications+")" + original_title);
      } else {
        document.title = original_title;
      }

    }
  });

  setTimeout(getnotifications, 5000);

}());
我还有一个函数,可以在动态单击链接时加载新内容,然后根据加载的内容更改document.title。因此,加载新内容,然后将
Foo
更改为
Bar | Foo

var original_title = $('title').text();

(function getnotifications() {

  $.ajax({
    dataType: "json",
    url: "foo.com/query_notifications.php?ajax=1",
    cache: false,
    async: true,
    success: function(data){
      var total_notifications = data.total_notifications;

      if(total_notifications > 0) {
        document.title = ("("+total_notifications+")" + original_title);
      } else {
        document.title = original_title;
      }

    }
  });

  setTimeout(getnotifications, 5000);

}());
但是,我的通知功能仍在使用
Foo
,并将
文档。title
更改为
(1)Foo
,即使在通知消失后,它仍然显示
Foo

if(!e.isTrigger) {
  if(history.pushState) {
    if(dash_switch == '') {
      history.pushState(null, null, '/');
      document.title = 'Foo';
      var original_title
    } else {
      history.pushState(null, null, '/' + dash_url + '/' + dash_switch + '');
      document.title = '' + ucwords(dash_switch) + ' | Foo';
      var original_title = '' + ucwords(dash_switch) + ' | Foo';
    }
  } else {
    if(dash_switch == '') {
      location.hash = '/';
      document.title = 'Foo';
      var original_title
    } else {
      location.hash = '/' + dash_url + '/' + dash_switch + '';
      document.title = '' + ucwords(dash_switch) + ' | Foo';
      var original_title = '' + ucwords(dash_switch) + ' | Foo';
    }
  }
}
我如何获得通知停留
Bar | Foo

我试着把
$('title').text()放进去进入通知功能,但这只是一遍又一遍地执行
(1)(1)(1)


我尝试在新的内容加载函数中更改var,但var的原始标题没有更改。

你也可以粘贴其他函数吗?@GonrasKarols我不喜欢。它太长了(大约600行),没有提供任何见解,否则我会包括在内。该函数的要点是,它检查链接的点击事件,并通过ajax在div中加载新内容,执行history.pushstate更改url,并根据加载的内容更改document.title。直截了当。您是否在将标题更改为
Bar | Foo
后立即尝试更改
原始标题?因为它是在全局范围内声明的。。。应该可以。在你刚才添加的代码部分。。。您重新声明了原始标题
。删除此变量前面的所有
var
,除了全局范围内的第一个变量。lol。。。阅读更多关于。知识的获得往往是痛苦的