当用户在不同的选项卡中时,jQuery更改页面的标题

时间:2011-07-06 18:24:20

标签: javascript html dom

我在我的网页上进行了实时聊天。 我想更改标题(在omegle.com中移动的内容)收到新邮件且用户与实时聊天不在同一个标​​签中。当用户返回选项卡时,标题将恢复正常。

我想它应该由jQuery完成。你知道任何插件或我该怎么做?

3 个答案:

答案 0 :(得分:13)

标题只能这样编辑:

document.title = "blah";

所以你可以这样做:

var origTitle = document.title;
document.title = "You have ("+x+") new messages - "+origTitle;

要使其闪现,您必须使用setTimeout();

执行某些操作
var origTitle = document.title;
var isChatTab = false; // Set to true/false by separate DOM event.
var animStep = true;
var animateTitle = function() {
    if (isChatTab) {
        if (animStep) {
            document.title = "You have ("+x+") new messages - "+origTitle;
        } else {
            document.title = origTitle;
        }
        animStep = !animStep;
    } else {
            document.title = origTitle;
            animStep = false;
    }
    setTimeout(animateTitle, 5000);
};

animateTitle();

答案 1 :(得分:2)

$('title').text("some text");

<强>更新

显然,在IE中,$('title')[0].innerHTML会返回<title>标记的内容,但除了使用document.title之外,您无法设置其值。我想这应该是对jQuery API的改进,因为$('title')[0]确实返回了DOMElement(nodeType = 1)......

答案 2 :(得分:0)

$('title').text('your title')就足够了。

要查看您是否采用正确的路径,只需使用IE的开发人员工具栏(F12)并转到控制台并编写$('title'),您应该在控制台中看到[...]。这意味着$('title')是一个对象,它可以在这里工作。然后写下typeof $('title').text,您应该看到function作为结果。如果这些测试没问题,那么你的IE就坏了。