Вызывается ли MutationObserver для каждой вставки узла DOM или вызов пакетируется?Javascript

Форум по Javascript
Ответить
Anonymous
 Вызывается ли MutationObserver для каждой вставки узла DOM или вызов пакетируется?

Сообщение Anonymous »

Я пытаюсь удалить некоторые сценарии при загрузке страницы с помощью TamperMonkey.
Я использую MutationObserver, чтобы выяснить, когда загружается событие сценария, и если да, то удалить его и поместить сценарий на нем.

Код: Выделить всё

// ==UserScript==
// @name         Block Scripts Before Execution
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Run a script before any other scripts on the page
// @author       You
// @match        *://*/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function() {
'use strict';

// Use MutationObserver to watch for script elements being added to the DOM
const observer = new MutationObserver((mutationsList, observer) => {
for (let mutation of mutationsList) {
if (mutation.type === 'childList') {
for (let node of mutation.addedNodes) {
if (node.tagName === 'SCRIPT') {
console.log('Blocked script:', node.src || 'inline script');
node.remove(); // Block the script by removing it
}
}
}
}
});

// Start observing the DOM for new script tags
observer.observe(document.head, {
childList: true,
subtree: true
});

})();
Теперь мой вопрос: будет ли обратный вызов вызываться для каждой вставки узла DOM?
Или он будет пакетирован, а затем вызван?< /p>
Потому что обязательно заменить скрипт до запуска window.DOMContentLoaded.>

Подробнее здесь: https://stackoverflow.com/questions/793 ... ll-batched
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»