如何每X秒自动刷新页面标题

时间:2013-03-06 20:14:31

标签: javascript ajax vbulletin

我们的论坛有一个通知系统,它将(#)附加到页面标题,#是他们拥有的当前通知的数量(消息,喜欢等)。这不是通过AJAX或其他任何方式完成的 - 只需使用模板系统调用几个页面的#通知,如下所示:

<title>({vb:raw total_notices}) - Our Site Title</title>

我希望每10秒钟左右自动刷新一次,以反映最新的更新。我在我们的页脚模板中尝试了这个(每页加载):

<script type="text/javascript">
setInterval(function() {
        document.title = document.title;
        }, 3000);
 </script>

但它实际上并没有刷新,只是抓住现有的标题。我知道代码本身正在工作/刷新,因为如果我将其更改为

document.title = "Test";

它将标题更新为“测试”没问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

这是正常的,因为执行document.title = document.title;不会向您的论坛服务器发出请求。 如果您想刷新标题,则必须提出请求。

如果你的页面上有jquery,你可以这样做:

setInterval(function() {
    $.get(document.location.toString()).then(function (data){
       //find and set the title of the page
       document.title = data.match(/<title>(.+)<\/title>/)[1];
    });
}, 3000);

这项工作,但这不是一个好主意,因为这个代码对你服务器上的很多请求......