2015-04-02 57 views
1

我試圖實現通知功能,它將更改瀏覽器選項卡文本的通知數量。我在互聯網上搜索,發現我應該改變標題,這也將改變瀏覽器標籤文本。但它似乎並不奏效。這裏是我的嘗試:如何在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並呈現此行爲?

+4

問題的jsfiddle父文件是不是在同一個域*結果*的iframe AFAIK這個意願。不可能,除非jsfiddle通過api提供這些功能。在其他消息中,試圖關閉你的小提琴竊聽我的鍍鉻物。http://i.imgur.com/lIqyPo9.gif – rlemon 2015-04-02 16:52:53

+0

糟糕,對不起。 – TheWanderingMind 2015-04-02 16:54:47

回答

1

我認爲這種技術工作得很好。我認爲問題在於,jsFiddle在iframe中運行你的頁面,它不控制瀏覽器標籤標題。

如果我在瀏覽器控制檯中輸入document.title = 'Here's my new Title';,則瀏覽器選項卡中的文本確實會更新

您還如何測試它?

+0

其實,我的目標是改變JSFiddle中的瀏覽器標籤文本有沒有辦法做到這一點? – TheWanderingMind 2015-04-02 16:41:14

+1

問題是你不寫這個頁面,jsFiddle的人會這樣做,你必須以某種方式將JavaScript注入到主頁面。我懷疑安全措施會阻止這種情況,除非只是暫時編輯它ily在你的瀏覽器的控制檯。 – 2015-04-02 16:43:21

+0

我明白了..感謝您的明確解釋!我想我只會添加一個聲音通知。 – TheWanderingMind 2015-04-02 16:47:54

1

document.title是要走的路,但它不會在jsFiddle中工作。它應該在「真實」頁面中正常工作。

嘗試在您的瀏覽器中輸入javascript:alert(document.title = "My new title"); - 您應該看到標籤文本更新。

編輯

我不認爲,除非他們允許它在某種程度上可以做到這一點的的jsfiddle。如果試圖「逃離」你的窗口,並在他們的更改屬性(即parent.document.title = "xxx";你會得到一個安全異常:

Uncaught SecurityError: Blocked a frame with origin " http://fiddle.jshell.net " from accessing a frame with origin " http://jsfiddle.net ". Protocols, domains, and ports must match.

+0

對不起,我忘記提及我的問題中最重要的部分。我的目標是更改JSFiddle中的瀏覽器選項卡文本,因爲我的應用程序實際上是JSFiddle應用程序。 – TheWanderingMind 2015-04-02 16:44:58

+0

感謝您的額外信息。 – TheWanderingMind 2015-04-02 17:21:54

相關問題