Как заблокировать URL-адрес или файл .js?

Рейтинг: 0Ответов: 0Опубликовано: 07.06.2023

У меня установлено расшерение для браузера 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 });

Ответы

Ответов пока нет.