Spec-Zone.ru › Web APIs

Метод MutationObserver: takeRecords()

Базовая Широко поддерживается

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Метод MutationObserver takeRecords() возвращает список всех сопоставленных изменений DOM, которые были обнаружены, но ещё не обработаны функцией обратного вызова наблюдателя, оставляя очередь мутаций пустой.

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

Синтаксис

takeRecords()

Параметры

Нет.

Возвращаемое значение

Массив объектов MutationRecord, каждый из которых описывает одно изменение, применённое к наблюдаемой части дерева DOM документа.

Примечание: Очередь мутаций, которые произошли, но не были доставлены в функцию обратного вызова наблюдателя, становится пустой после вызова takeRecords().

Примеры

В этом примере демонстрируется, как обрабатывать любые непереданные MutationRecord, вызывая takeRecords() непосредственно перед отключением наблюдателя.

const targetNode = document.querySelector("#someElement");
const observerOptions = {
  childList: true,
  attributes: true,
};

const observer = new MutationObserver(callback);
observer.observe(targetNode, observerOptions);

/* later, when it's time to stop observing… */

/* handle any still-pending mutations */

let mutations = observer.takeRecords();

observer.disconnect();

if (mutations.length > 0) {
  callback(mutations);
}

Код извлекает любые необработанные записи мутаций, затем вызывает функцию обратного вызова с записями, чтобы они могли быть обработаны. Это делается непосредственно перед вызовом disconnect() для остановки наблюдения за DOM.

Спецификации

Спецификация
DOM
# ref-for-dom-mutationobserver-takerecords①

Совместимость с браузерами

Рабочий стол Мобильное устройство
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
takeRecords 20 12 14 15 6 25 14 14 6 1.5 4.4

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver/takeRecords

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API