Мне нужно перехватить узлы , прежде чем они будут помещены в DOM для управления атрибутами (sr c + песочница). Я использую встроенные файлы YouTube на своем сайте, и из-за GDPR и прав на защиту данных мне нужно , чтобы перехватить размещение файлов cookie из этих iframe. Я тестировал множество идей, но моя большая проблема в том, что все попытки выполняются после iframe уже были вставлены в DOM.
Моя текущая, лучшая попытка это:
var observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
[].filter
.call(mutation.addedNodes, function (node) {
return node.nodeName == 'IFRAME';
})
.forEach(function (node) {
node.setAttribute('data-src', node.getAttribute('src'));
node.setAttribute('sandbox', '');
node.setAttribute('src', '');
});
});
});
observer.observe(document.documentElement, { childList: true, subtree: true });
Он отлично работает в Firefox, но в Chrome iframe выполняют свои запросы и помещают файлы cookie до изменения атрибутов. Я узнал, что MutationObserver являются строго реактивными, поэтому теоретически моя попытка не должна работать даже в Firefox.
Что я могу сделать, чтобы заблокировать загрузку и размещение файлов cookie фреймами?
Любая помощь / идеи приветствуются!