웹, HTML

웹 이미지 주소 복사하기 (IE6, IE7)

디버그정 2008. 7. 31. 18:08

웹 이미지 주소 복사하기 (IE6, IE7)

웹 페이지에 이미지 주소를 어떻게 알아낼 수 있을까 하다가 생각해낸 방법입니다.

참조 링크: http://blueb.co.kr/bbs.php?table=JS_01&query=view&uid=121
링크 안 된 주소 쉽게 열기: http://pikadung.egloos.com/978435


1. 에디터를 이용해서 다음 내용을 *.htm 파일로 저장합니다. 여기서는 OpenImage.htm 이라고 지정했습니다.

IE6
<script language="JavaScript" defer>
var timg = external.menuArguments.event.srcElement;
var wopt = "resizable=1";
wopt += ",scrollbars=" + ((timg.width < screen.availWidth && timg.height < screen.availHeight) ? 0 : 1);
wopt += ",width=" + ((timg.width < screen.availWidth) ? timg.width : screen.availWidth);
wopt += ",height=" + ((timg.height < screen.availHeight) ? timg.height : screen.availHeight);
var wbody = "<html>\r\n";
wbody += "<head>\r\n";
wbody += "<title>" + timg.src + "</title>\r\n";
wbody += "<script language='JavaScript'>\r\n";
wbody += "function winresize() {\r\n";
wbody += " var xdiff = thisimg.width - document.body.clientWidth;\r\n";
wbody += " var ydiff = thisimg.height - document.body.clientHeight;\r\n";
wbody += " window.resizeBy(xdiff, ydiff);\r\n";
wbody += "}\r\n";
wbody += "function copyimg() {\r\n";
wbody += " if (confirm('이미지 주소를 복사하시겠습니까?\t')) window.clipboardData.setData('Text', thisimg.src);\r\n";
wbody += " window.close();\r\n";
wbody += "}\r\n";
wbody += "</" + "script>\r\n";
wbody += "</head>\r\n";
wbody += "<body onload='winresize()' leftmargin='0' topmargin='0'>\r\n";
wbody += "<a href='#' onclick='copyimg()'><img src='" + timg.src + "' id='thisimg' border='0'></a>\r\n";
wbody += "</body>\r\n";
wbody += "</html>\r\n";
var imgwin = window.open("about:blank", "_blank", wopt);
imgwin.document.open("text/html", "replace");
imgwin.document.write(wbody);
imgwin.document.close();
</script>


IE7
<script language="JavaScript" defer>
var parentwin = external.menuArguments;
var timg = parentwin.event.srcElement;
var wbody = "<html>\r\n";
wbody += "<head>\r\n";
wbody += "<title>" + timg.src + "</title>\r\n";
wbody += "<script language='JavaScript'>\r\n";
wbody += "function copyimg() {\r\n";
wbody += " if (confirm('이미지 주소를 복사하시겠습니까?\t')) window.clipboardData.setData('Text', thisimg.src);\r\n";
wbody += " window.open('about:blank', '_top').close();\r\n";
wbody += "}\r\n";
wbody += "</" + "script>\r\n";
wbody += "</head>\r\n";
wbody += "<body leftmargin='0' topmargin='0'>\r\n";
wbody += "<a href='#' onclick='copyimg()'><img src='" + timg.src + "' id='thisimg' border='0'></a>\r\n";
wbody += "</body>\r\n";
wbody += "</html>\r\n";
var imgwin = parentwin.open("about:blank", "_blank");
imgwin.document.open("text/html", "replace");
imgwin.document.write(wbody);
imgwin.document.close();
</script>


2. 위의 파일을 원하는 폴더에 복사합니다. 여기서는 C:\Program Files\Internet Explorer\에 저장했습니다.

3. 레지스트리 편집기를 열어 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt] 를 찾아갑니다.

4. Open Image라고 새 키를 생성한 다음, 기본값 데이터를 위 파일의 경로로 지정합니다.

5. Contexts라는 DWORD 값을 추가하여 16진수 입력에 2라고 입력합니다.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Open Image]
@="C:\\Program Files\\Internet Explorer\\OpenImage.htm"
"Contexts"=dword:00000002


6. 브라우저를 종료하고 다시 실행

사용 방법:
원하는 이미지에서 마우스 오른쪽을 클릭해 Open Image를 선택하면

이런 식으로 이미지를 새 창에서 열 수 있습니다.

이미지를 클릭하면 클립보드에 복사할지 물어봅니다.


예제 다운로드
openimage_ie6.zip
openimage_ie7.zip