웹 페이지들 중에서, 특수키(Shift, Ctrl, Alt)나 범위 선택, ContextMenu를 막아 놓은 사이트들이 심심찮게 있습니다. 이런 사이트들의 원리는 각 HTML 요소의 이벤트 핸들러를 통해서 막게 됩니다.
d0cument나 body에 이벤트 핸들러를 설정하여 막게 됩니다.
예를 들어 ContextMenu를 막을 때는 다음과 같이 HTML 코드를 작성합니다.
이를 풀기 위해서 다음과 같은 코드로 ContextMenu를 다시 나타나게 할 수 있습니다.
다른 특수키나, 범위 선택도 비슷한 형식으로 처리하면 됩니다.
d0cument나 body에 이벤트 핸들러를 설정하여 막게 됩니다.
예를 들어 ContextMenu를 막을 때는 다음과 같이 HTML 코드를 작성합니다.
<BODY oncontextmenu="return false;">위와 같이 작성을 하면 내용 부분에서 ContextMenu가 나타나지 않게 됩니다.
이를 풀기 위해서 다음과 같은 코드로 ContextMenu를 다시 나타나게 할 수 있습니다.
use SHDocVw_TLB, MSHTML_TLB;위와 같은 코드를 수행한 이후에는 다시 ContextMenu가 활성화되어 나타나게 됩니다.
// ...
AHTMLDocument2 := AWebbrowser2.Document as IHTMLDocument2;
ADispHTMLBody := AHTMLDocument2.body as DispHTMLBody;
ADispHTMLBody.oncontextmenu := null;
다른 특수키나, 범위 선택도 비슷한 형식으로 처리하면 됩니다.
'JavaScript' 카테고리의 다른 글
접근성을 해치지 않는 자바스크립트의 사용, 그 다음엔? (0) | 2009.02.03 |
---|---|
오른족 버튼 눌렀을때 뜨는 contextMenu (0) | 2009.01.30 |
자바스크립트 이미지 회전, Image Rotate with CANVAS (0) | 2009.01.20 |
클립보드 복사 기능 구현을 위한 소스 코드 (0) | 2009.01.19 |
동적 HTML 객체 모델 요소의 위치와 면적 계산 (0) | 2009.01.12 |