更改非活动页面标题

时间:2013-09-14 13:10:07

标签: javascript angularjs

有人提出了类似的问题here。而且我知道如何在非角度环境中完成它。 但是为了学习框架,我使用Angular进行了自己的聊天。

由于我刚刚开始,我想知道什么是最好的行动方案呢?使用jQuery可以在控制器中工作,但这似乎不是正确的方法。因为在控制器被销毁后你必须删除监听器。

要清楚这就是我想要发生的事情:

如果用户切换标签页或窗口,则页面标题会更新以反映“错过的”条目。 一旦他回来,标题将重置为另一个值。

2 个答案:

答案 0 :(得分:2)

最“有棱角”的方法是在某个元素上创建directive,该元素会侦听事件并更改范围变量。

我会创建一个这样的API:

<html ng-app="myApp" window-active-model="appIsActive">
  <title>{{appIsActive ? 'My Super App' : 'Come back to me!'}}</title>
</html> 

答案 1 :(得分:0)

以下是任何人需要的jquery版本

$(function() {
// Get page title
var pageTitle = $("title").text();

// Change page title on blur
$(window).blur(function() {
  $("title").text("Don't forget to read this...");
});

// Change page title back on focus
$(window).focus(function() {
  $("title").text(pageTitle);
});
});