본문 바로가기

자료

자바스크립트로 복사 막기 (크로스 브라우징?)

[2015년 8월 추가]

제정중인 표준[각주:1]으로 클립보드 API 가 있습니다. [MDN] [지원 브라우저 목록]

document.addEventListener('copy', function (e) { e.preventDefault(); });
document.addEventListener('cut', function (e) { e.preventDefault(); });

어차피 복사할 사람들은 다 복사하므로 딱히 의미가 없지 않을까 싶긴 합니다. 자바스크립트 끄면 그냥 무력화가 가능한걸요.


[2015년 8월 추가 : MDN]


http://help.dottoro.com/ljwexqxl.php
이 글의 예제에 있습니다. 우와...

IE에서는 지정된 메시지가 나오고요,
파이어폭스는 그냥 클립보드에 변화가 없고요 (복사가 안됨),
크롬과 사파리에서는 빈 문자가 클립보드에 들어간다는군요.
안타깝게도 이방법은 오페라에서는 안되는 것 같구요.

(IE 외에 다른 브라우저에서는 클립보드에 직접적인 접근을 허용하지 않기 때문에 플래시를 통해서 우회해야 한다는 것 같은데, 제가 능력자가 아니라서요...)

이정도면 만족합니다. ㅠㅠ 찾아헤맸는데 이게 최선이네요.


방법 :

1.
<head></head>사이에 아래 자바스크립트를 삽입


2.
<body id="뭐시기" >

oncopy="return OnCopy ()"
를 끼워넣는다.

예)
<body id="뭐시기" oncopy="return OnCopy ()">






혹시나해서 사라질까봐 보관용으로 둡니다. (출처
http://help.dottoro.com/ljwexqxl.php)

http://cdmanii.com/234 를 조금 응용해서 (document.URL), IE에서만이라도 제대로 담아보기. (티스토리용)

현재 창작관에 적용해뒀는데 꽤나 만족하고 있습니다.


  1. 바뀔 수 있음 [본문으로]