2015-08-31 5 views
0

Я разрабатываю систему, в которой есть секция уведомлений со значком, где мне нужно высветить этот значок, если придет новое уведомление. Первое решение, которое я хотел использовать, было DOMNodeInserted для контейнера div панели уведомлений. Но этот метод устарел. Второй вариант заключается в реализации таймера, который проверяет, увеличивается ли количество домов, и в соответствии с этим выделяет значок.Лучший способ показать новые уведомления

Есть ли лучший способ реализовать этот сценарий с помощью JavaScript.

+0

У вас нет доступа к событию уведомления, когда оно происходит? – Harangue

+0

На самом деле я разрабатываю переднюю часть, где мне придется прислушиваться к модификации. –

ответ

4

Это событие было отменено в пользу наблюдателей Mutation, которые поддерживаются всеми современными браузерами. https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver

// select the target node 
var target = document.querySelector('#some-id'); 

// create an observer instance 
var observer = new MutationObserver(function(mutations) { 
    mutations.forEach(function(mutation) { 
    console.log(mutation.type); 
    });  
}); 

// configuration of the observer: 
var config = { attributes: true, childList: true, characterData: true }; 

// pass in the target node, as well as the observer options 
observer.observe(target, config); 

// later, you can stop observing 
observer.disconnect(); 
+0

Благодарим вас за ответ. Один маленький вопрос, который у меня есть, - мне нужно отключить наблюдателя в какое-то время, так как я хочу, чтобы он наблюдал, пока пользователь не уйдет со страницы! –

+0

Нет! Это просто необязательно в случае, если вы не хотите, чтобы наблюдатель работал по соображениям производительности. – Harangue

Смежные вопросы