Я пишу код Javascript, который должен отслеживать новые элементы сценария и блокировать несколько известных источников.
Чтобы поймать их, я пытался использовать MutationObserver и __ defineSetter __ , оба могут отслеживать изменение 'src', но только после того, как HTTP-запрос уже отправлен, поэтому даже если я изменю src , он на самом деле не блокируется.
window.HTMLScriptElement.prototype.__defineSetter__('src', function (d)
{
console.log("HTMLScriptElement: ",d);
if (d.indexOf('localhost') != -1) {
//BLOCK SCRIPT
}
});
new MutationObserver(function (a) {
a.forEach((e) => {
e.addedNodes.forEach((z) =>
{
if (z.nodeName.toLowerCase() == "script" && z.src.indexOf('localhost') != -1)
{
//BLOCK SCRIPT
}
})
})
}).observe(window.document, {
attributes: true,
childList:true,
subtree:true
});