본문 바로가기
IT일반

막아놓은 웹페이지에서 복사를 하고 싶을 때

by 바이트뉴클리어스.넷 2024. 11. 18.
반응형

* 개인적인 목적을 위해서 사용해야 됩니다. 다른 이유에 따른 법적 책임은 실행한 본인에게 있습니다. (저작권을 보호해주세요.)

대부분 여러 이유로 복사하는 것을 막아놓는데요. 일반적으로 javascript를 통해 select를 막아놓는 것이 일반적입니다.

그런데, 웹서핑을 하다보면, 텍스트를 긁어서 보관하고 싶을 때가 있습니다. 물론 개발자 도구로, 소스코드 들어다보고 텍스트만 복사하는 방법도 있겠으나, 이는 한계가 있습니다.

 

그럴때는, 기존의 select 를 막은 것을 해제하는 자바스크립트를 콘솔에서 다시 실행하는 방법으로 임시적으로 선택 및 복사를 할 수 있습니다.

 

방법은 우선 개발자 도구를 엽니다. 맥은 opt+cmd+i 입니다. (크롬 기준입니다.)

개발자 도구를 띄우면 '콘솔'이라는 탭이 있습니다.

콘솔의 프롬프트(>)가 나오면 아래의 코드를 복사해서 붙여넣고 엔터를 칩니다.

 

const removeRestrictions = (root) => {
    root.querySelectorAll('*').forEach(el => {
        el.style.userSelect = 'auto';
        el.style.pointerEvents = 'auto';
        el.onselectstart = null;
        el.ondragstart = null;
        el.oncontextmenu = null;
        el.oncopy = null;
        el.oncut = null;
        el.onpaste = null;
    });

    const shadowRoots = Array.from(root.querySelectorAll('*')).map(el => el.shadowRoot).filter(Boolean);
    shadowRoots.forEach(removeRestrictions);
};

removeRestrictions(document);

 

코드 내용은, 루트 밑의 모든 엘레먼트에 대해서 복사를 막아놓기위해 설정한 것으로 예상되는 요소들을 모두 해제하는 코드입니다.

 

크롬기준으로 말씀드렸지만, 대부분의 브라우저도 동일하게 메뉴 상에서 개발자 도구를 찾아보세요.

 

브라우저별 개발자 도구를 여는 방법은 아래 글을 참고하세요.

 

 

브라우저별 개발자 도구 여는 방법 핫키

웹 브라우저에서 개발자 도구(DevTools)를 여는 방법은 다음과 같습니다. 단축키로 개발자 도구 열기Windows/LinuxF12 키를 누르기 또는 Ctrl + Shift + iMacCommand + Option + i  또는 F12 브라우저 메뉴에서 개

bytenucleus.net

 

-끝-