JavaScript
WebBrowser에서 ContextMenu, 특수키 막은 사이트 풀기.
퓨전마법사
2009. 1. 30. 00:58
웹 페이지들 중에서, 특수키(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;
다른 특수키나, 범위 선택도 비슷한 형식으로 처리하면 됩니다.