Как заблокировать URL-адрес или файл .js?
У меня установлено расшерение для браузера Greasemonkey. Расширение позволяет добовлять свои скрипты на любой сайт. Пытаюсь заблокировать загрузку скрипта, но ничего не получается. Нашёл несколько ппримеров кода по этому вопросу, но почему-то они у меня не работают. Пробовал и на других подобных расширениях, но результат нулевой. Может кто знает как всё же заблокировать загрузку фала js?
<script>
function blockScript(origin) {
const scripts = Array.from(document.getElementsByTagName("SCRIPT"));
if (scripts.length > 0) {
scripts.forEach((script) => {
if (script.src.includes(origin)) {
document.head.removeChild(script);
}
})
}
}
</script>
<script>
const observer = new MutationObserver((mutationsList, observer) => {
for(let mutation of mutationsList) {
const addedNodes = Array.from(mutation.addedNodes);
if (addedNodes && addedNodes.some(n => n.nodeName === 'SCRIPT')) {
blockScript('code.jquery.com');
}
observer.disconnect();
}
});
observer.observe(document, { childList: true, subtree: true });
</script>
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous" ></script>
<script>
$(document).ready(function() {
console.log('I am undefined');
})
</script>
// ==UserScript==
// @name New script
// @namespace Violentmonkey Scripts
// @match *flarum.org*
// @include *flarum.org*
// @grant none
// @version 1.0
// @run-at document-start
// @author -
// @description 12/26/2020, 9:57:34 AM
// ==/UserScript==
const observer = new MutationObserver((mutations) => {
mutations.forEach(({ addedNodes }) => {
addedNodes.forEach((addedNode) => {
if (addedNode.nodeType === 1 && addedNode.matches('script') && addedNode.src === 'https://cdn.jsdelivr.net/gh/s9e/hljs-loader@1.0.16/loader.min.js') {
addedNode.remove();
observer.disconnect();
}
});
});
});
observer.observe(document.documentElement, { childList: true, subtree: true });
Источник: Stack Overflow на русском