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

时间:2017-05-30 22:35:28

标签: 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,
    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

但是,我的通知功能仍在使用Foo并将document.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 original_title没有更改。

0 个答案:

没有答案