웹사이트에서 인쇄를 비활성화하는 방법

때때로 콘텐츠가 민감하거나 개인 정보 보호 또는 저작권 때문에 보호되어야 하는 일부 프로젝트가 있습니다. 빠른 솔루션에는 다음이 포함됩니다.
  • JS를 통해 키 조합 Ctrl + P(인쇄용)를 방지하려면.
  • JS를 통해 텍스트를 선택하고 복사하는 것을 방지합니다.
  • CSS를 통해 인쇄할 때 전체 페이지를 숨기려면.

  • <script>
        //Prevents Ctrl + P
        //From https://stackoverflow.com/a/47848090/1928691
        window.addEventListener('keydown', function(event) {
            if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) && !event.altKey && (!event.shiftKey || window.chrome || window.opera)) {
                event.preventDefault();
                if (event.stopImmediatePropagation) {
                    event.stopImmediatePropagation();
                } else {
                    event.stopPropagation();
                }
                return;
                }
        }, true);
    
        //Disables text selection and copying
        //From https://gist.github.com/pbaruns/a24ad79b027956ed5d77fd3e6c201467
        if (typeof document.onselectstart != "undefined") { 
            document.onselectstart = new Function ("return false");
        } 
        else { 
            document.onmousedown = new Function("return false"); 
            document.onmouseup = new Function("return true");
        }
    </script>
    
    <style>
        /*From https://stackoverflow.com/a/3359980/1928691*/
        @media print {
            html, body {
                display: none;  /* hide whole page */
            }
        }
    </style>
    


    완벽합니까? 물론 그렇지 않습니다.
  • 액세스를 방지하기 위해 페이월을 추가해야 할 수도 있습니다.
  • 스크린샷을 방지하기 위해 DRM 솔루션을 추가해야 할 수도 있습니다(텍스트를 추출하기 위해 OCR이 뒤따르는 경우가 많음). Udemy는 이미 이 작업을 수행하므로 여러 비디오에서 스크린샷을 찍을 수 없습니다. Firefox 또는 덜 일반적인 브라우저를 사용하는 경우 가져갈 수 있습니다.
  • 접근성 문제가 발생합니다.
  • 리더 모드는 종종 일반적인 제한을 우회합니다.
  • 어떤 사람들은 개발자 콘솔을 사용하여 이를 우회하고 태그에서 텍스트를 복사할 수 있습니다(주로 개발자, RPA 또는 괴짜?).
  • 개발자 콘솔을 사용하는 모든 사람을 위해 DRM 서비스를 사용하여 텍스트를 암호화해야 할 수도 있습니다.

  • 이는 귀하의 여정을 지원할 수 있는 빠른 솔루션일 뿐입니다.

    나를 팔로우하세요:




    링크드인
    유튜브
    인스 타 그램
    사이버 예언자
    당신의 이야기를 공유








    좋은 웹페이지 즐겨찾기