X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> JS легкий мониторинг изменений
k0ttee
k0ttee
Topic Starter сообщение 2.8.2017, 20:16; Ответить: k0ttee
Сообщение #1


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

Однако не все получается сделать малым напрягом. Недавно мне понадобилось отслеживать элемент на странице и я был очень недоволен производительностью setInterval('alert("прошла секунда")', 1000). Казалось, будто бы выхода нет, однако нашлась альтернатива. Написать пришлось больше кода, зато страница стала жрать меньше процессора.

Вот как оно запиливается.

Занесем в переменную target целевой объект, который хотим отслеживать
var target = document.getElementbyID("mydiv");

Создаем новый наблюдатель за мутацией
var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        //когда целевой блок изменится
        alert("hello world")
        //выполнится эта секция
    });
});

Занесем в переменную config настройки (в примере будет отслеживаться не только цель но и все вложенное в него)
var config = {
    childList: true,
    subtree: true,
    characterData: true
};

Запускаем наблюдателя
observer.observe(target, config);


Если вам надо callback и остановку наблюдения - курите доки про MutationObserver.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Задонь кибер-коту на крипто-вискас
btc: 3Hq7X9CosVftRFPqWis1Dkk5MdtM1u6jj9
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыМониторинг BestChange
201 Dennis 78599 18.4.2024, 18:41
автор: Best_Change
Открытая тема (нет новых ответов) Ping-Admin мониторинг сайтов и серверов (промо-коды)
3 AndrePro 1669 2.4.2024, 2:47
автор: Llirik
Открытая тема (нет новых ответов) kurses.com.ua - мониторинг электронных валют без скрытых комиссий
7 Kurses 2649 18.2.2024, 23:46
автор: Kurses
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыМониторинг 24kurs.cоm мошенники
30 obmenbro 8317 7.11.2023, 11:07
автор: Skyworker
Открытая тема (нет новых ответов) Нужен человек для внесения мелких изменений на сайте DLE
3 Kiloan_Frost 3192 26.12.2021, 21:49
автор: Kiloan_Frost


 



RSS Текстовая версия Сейчас: 20.4.2024, 14:57
Дизайн