728x90
반응형
웹 페이지들 중에서, 특수키(Shift, Ctrl, Alt)나 범위 선택, ContextMenu를 막아 놓은 사이트들이 심심찮게 있습니다. 이런 사이트들의 원리는 각 HTML 요소의 이벤트 핸들러를 통해서 막게 됩니다.
document나 body에 이벤트 핸들러를 설정하여 막게 됩니다.
예를 들어 ContextMenu를 막을 때는 다음과 같이 HTML 코드를 작성합니다.
이를 풀기 위해서 다음과 같은 코드로 ContextMenu를 다시 나타나게 할 수 있습니다.
다른 특수키나, 범위 선택도 비슷한 형식으로 처리하면 됩니다.
document나 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;
다른 특수키나, 범위 선택도 비슷한 형식으로 처리하면 됩니다.
'프로그래밍 > 델파이' 카테고리의 다른 글
TEmbeddedWB에서 자바스크립트 오류 무시하기 (0) | 2008.02.29 |
---|---|
부팅된 시각 알아내기 (0) | 2008.02.25 |
EmbeddedWB에서 직접 HTML로 Navigate 하기. (0) | 2008.02.14 |
MS-SQL의 저장 프로시저 호출을 위하여 TADOStoredProc를 이용할 때의 주의점. (0) | 2008.01.31 |
StrToDateTime, StrToDateTimeDef, TFormatSettings 관계 둘러보기 (0) | 2008.01.29 |