Я пишу скрипт, который должен обнаруживать элементы , добавленные на веб-страницу, например события, отображаемые в календаре (теги div). Мне не нужны элементы, которые удаляются. На странице должно быть не более 20-30 таких элементов.Использование классов для наблюдения за страницей
Моя идея - короткий и простой код - использовать определенный класс («myName») для маркировки элементов, уже находящихся на странице. Через регулярные промежутки времени, я бы опрашивать страницу:
// Get all divs in the calendar:
var allDivsCount=myCalendar.querySelectorAll("div").length;
// Get already branded divs
var oldDivsCount=myCalendar.querySelectorAll("div.myName").length;
if (allDivsCount > oldDivsCount) {
// brand the new divs and do stuff
}
это хорошая практика, или есть лучший способ сделать это? Существуют ли библиотеки, которые уже имеют такую логику?
Я пытаюсь избежать DOMNodeInserted, поскольку некоторые браузеры не поддерживают его, и он устарел (из-за проблем с производительностью, из того, что я прочитал).
Я знаю, что вам не нужны элементы, которые удалены, но вы получите тот же счетчик, если элемент удален. _then_ добавлен новый, выглядящий как ничто не изменилось ... – Ian
Я бы рекомендовал очки по классам при просмотре веб-страниц. Небольшой простой опрос интервалов, который не работает часто, не является проблемой, это когда вы постоянно что-то опросили, или придерживайтесь много mumbojumbo в функции, с которой вы сталкиваетесь. – adeneo
@Ian no, oldDivsCount изменится – Christophe