사전지식
웹브라우저에서 <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>
주의사항
당연한 소리이지만, 위의 스크립트 이전에 추가된 스크립트는 중단되지 않는다.
출처
'자바스크립트' 카테고리의 다른 글
자바스크립트 함수 안에서 정적변수 초기화 (0) | 2021.12.19 |
---|---|
블로그를 방문하는 낯선이를 위한 출구버튼 (0) | 2021.12.19 |