2017-05-10 45 views
0

我有一個id ='title'的跨度標記,並且此值在某個時間後會更改。我想在更新時使用此值更新頁面標題。更新頁面標題使用Javascript更新跨度標記值

例如<span id='title'>Title</span> - 這是當前標題

當它被另一個腳本更新

<span id='title'>New title</span> 

我想更新頁面的標題一段時間後,以「新稱號」時,它的變化,也不管有多少次數變化。

現在我必須每1秒調用一次函數來更新頁面標題。這會不斷閃爍頁面標題。所以我想監視更改,並且每當值發生更改時,我都希望該值成爲頁面的標題。

+0

你不能更新腳本更新跨度本身的標題? – Khaleel

+0

我想使用另一個腳本來更新標題,該腳本監視範圍並更新標題 –

+0

,這可能有所幫助。試試。 http://stackoverflow.com/questions/4292625/javascript-check-if-element-has-changed – Khaleel

回答

0

是的。您可以通過

突變觀察

實現它,我回答了總部設在評論你的jsfiddle鏈接,我已經使用MutationObserver達到你想要什麼你的問題。

var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || 
window.MozMutationObserver; 
     var target = document.querySelector('#demo'); 

     var observer = new MutationObserver(function(mutations) { 
     mutations.forEach(function(mutation) { 
      if (mutation.type === 'childList') { 
      console.log(mutation.type); 
      document.getElementById('status').innerHTML='changed'; 
      } 
     }); 
     }); 

     observer.observe(target, { 
     attributes: true, 
     childList: true, 
     characterData: true 
     }); 

我已將它分叉到此fiddle

希望它有幫助

+1

謝謝Khaleel。你的也在工作。但我使用JavaScript cookies並每秒檢查一次更改。 –

0

這個討論似乎是看着同一個問題 - 而不是一個跨度他們正在監測一個div。我知道你正在尋找這樣的純JavaScript,但我認爲這個線程仍然是很好的審查。
Jquery Event : Detect changes to the html/text of a div

+0

但有瀏覽器支持問題。 –

+0

是的,這是正確的。正式使用Mutation Observer有瀏覽器支持問題。在Chrome和Safari中仍然認爲它是實驗性的。你可以使用它,但你的結果可能會有所不同。 https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver#Browser_compatibility –