본문 바로가기

자바스크립트

특정 자바스크립트 실행 중지 시키기

사전지식

웹브라우저에서 <script ...> 형태로 실행되는 스크립트를 리무브하여 중단시킨다.

다시 실행 시키고 싶은 경우.. 하단에 있는 출처의 링크를 확인 할 것.


실습

<head>
<script>
const observer = new MutationObserver(mutations => {
    mutations.forEach(({ addedNodes }) => {
        addedNodes.forEach(node => {
            if (node.nodeName == "SCRIPT") { 
 
                if (node.getAttribute('type') != 'text/babel') return; // 다른것도 가능
                parent.removeChild(node); 
 
                //파폭의 경우 추가.
                node.addEventListener('beforescriptexecute', (event) => event.preventDefault());
            }
        })
    })
})
   
// 모니터링 시작
observer.observe(document.documentElement, {
      childList: true, //자식노드 감지
      subtree: true //하위노드 감지
})
</script>
</head>

주의사항

당연한 소리이지만, 위의 스크립트 이전에 추가된 스크립트는 중단되지 않는다.


출처

https://self-edu.tistory.com/3