본문 바로가기
Today I learned!/오늘 하루 배운 것, 기억할 것

[JS] "복사 방지" 구현

by sweesweet 2023. 6. 19.

데브매칭을 보다가 처음 검색해보고 구현해봤다. 

 keydown 이벤트로는 ctrl+c 만 방지할 수 있고,  마우스로 오른쪽 클릭해서 복사 방지는 불가능 해 검색하다가 아래의 글을 보게되었다(하단의 참고 자료)

어떤 element에서 복사금지를 구현하고 싶다면

element.addEventListener('copy',(e)=>{
e.preventDefault()
})

그냥 이렇게만 해도 복사가 되지 않는다(문제는 그 때 이렇게 못풀음! ㅎㅎ 나란 사람 바보일수도~!) 

만약 어떤 조건에만 발동해야 한다면

element.addEventListener('copy',(e)=>{
if(element.includes('h')){
	e.preventDefault()
    alert('h는 묵음이야')
}

})

이런 식으로 해준다면, 잘 작동할 것 같다.


참고자료

https://developer.mozilla.org/en-US/docs/Web/API/Element/copy_event

 

Element: copy event - Web APIs | MDN

The copy event fires when the user initiates a copy action through the browser's user interface.

developer.mozilla.org

https://merrily-code.tistory.com/44

 

웹 페이지 컨텐츠 복사 방지 구현하기

일부 커뮤니티나 웹 페이지는 컨텐츠 유출을 방지하고자 마우스 우클릭을 비활성화하거나 복사를 물리적으로 비활성화하기도 합니다. 오늘은 브라우저에서 지원하는 클립보드 API를 활용해 이

merrily-code.tistory.com