如何在JSFiddle中更改浏览器选项卡显示的文本

时间:2015-04-02 16:28:23

标签: javascript jquery jsfiddle

我正在尝试实施一项通知功能,该功能会根据通知次数更改浏览器标签文本。我在互联网上搜索,发现我应该更改标题,这也会改变浏览器标签文本。但它似乎不起作用。这是我试过的:

var nbNotifications = 0;

$().ready(function() {
    var docOriginalTitle = "Tab does not change on notification";
    debugger;
    document.title = docOriginalTitle;
    $('#test').click(function() {
        nbNotifications += 1;
        document.title = "(" + nbNotifications + ") " + docOriginalTitle;
        alert(document.title);
    });
});

JSFiddle can be found here

或许,文档标题更改浏览器标签标题并不正确?或者它可能不适用于JSFiddle?

你能把我带到好的轨道上吗?

修改

我试图更改JSFiddle 中的浏览器标签文本。有没有办法欺骗JSFiddle并呈现这种行为?

2 个答案:

答案 0 :(得分:1)

我认为这项技术运作得很好。我认为问题是jsFiddle在iframe中运行你的页面,iframe不控制浏览器标签名称。

如果我在浏览器控制台中输入document.title = 'Here's my new Title';,则浏览器标签中的文字会更新。

你怎么测试这个?

答案 1 :(得分:1)

document.title是要走的路,但它在jsFiddle中不起作用。它应该在“真实”页面中正常工作。

尝试在浏览器中输入javascript:alert(document.title = "My new title"); - 您应该会看到标签文本更新。

修改

我不认为你可以在jsfiddle中这样做,除非他们以某种方式允许它。如果您试图“逃离”您的窗口并更改其属性(即parent.document.title = "xxx";),则会出现安全例外:

  

Uncaught SecurityError:阻止具有原点的帧   “http://fiddle.jshell.net”访问具有原点的框架   “http://jsfiddle.net”。协议,域和端口必须匹配。