이미지크기로 새창띄우기, 띄운창 이미지 클릭하면 창닫기 > 기술자료 | 해피정닷컴

이미지크기로 새창띄우기, 띄운창 이미지 클릭하면 창닫기 > 기술자료

본문 바로가기

사이트 내 전체검색

이미지크기로 새창띄우기, 띄운창 이미지 클릭하면 창닫기 > 기술자료

JavaScript 이미지크기로 새창띄우기, 띄운창 이미지 클릭하면 창닫기

페이지 정보


본문

단순히 큰이미지 링크만 연결하면 되는 단순한 방법입니다.
큰이미지의 크기를 자동 해석해서 보여주기 때문에 편리하게 사용하실수 있습니다.


[ 방법 1 ]
정상 : IE 7 ,  FireFox 1.6~31 ,  Chrome 35
오류 : IE 11 > 팝업창으로 인식해서 팝업 차단된경우 추가 승인 눌러야만 창이 뜸 > 이미지는 창은 정상으로 열림


<script type="text/JavaScript">
<!--
/* 이미지 크기에 맞게 새창 열기*/
var imgObj = new Image();
function showImgWin(imgName) {
  imgObj.src = imgName;
  setTimeout("createImgWin(imgObj)", 100);
}
function createImgWin(imgObj) {
  if (! imgObj.complete) {
    setTimeout("createImgWin(imgObj)", 100);
    return;
  }
  imgwin = window.open("", "imageWin","width=" + imgObj.width + ",height=" + imgObj.height);
  imgwin.document.write("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>");
  imgwin.document.write("<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'>"); // euc-kr? utf-8?
  imgwin.document.write("<title>큰이미지</title>");  // 새창 페이지 제목
  imgwin.document.write("</head><body style='margin:0px;padding:0px'>");
  imgwin.document.write("<a href='#' onclick='javascript:window.close()'><img src='" + imgObj.src + "' onclick='self.close();' alt='이미지를 클릭하시면 창이 닫힙니다.'></a>\n");
  imgwin.document.write("</body><html>");
  imgwin.document.title = imgObj.src;
}
//-->
</script>

<a href="javascript:showImgWin('images/index_customer.jpg')">새창으로 이미지 뜨기</a>




[ 방법 2 ]
정상 : IE 6.01 ,  FireFox 1.6~31 ,  Chrome 35
오류 : IE 11 >  새창이 이미지 크기와 다르게 작은창으로 열리는 오류 / 원인 확인중 ( 2014-07-14 )
         IE 7   >  주소창 ie7_flag 때문에 이미지 하단이 21픽셀 안보임


<script text="text/JavaScript">
<!--
/* 이미지 크기에 맞게 새창 열기*/
function showImgWin(what) {
  var imgwin =window.open("",'WIN','scrollbars=no,status=no,toolbar=no,resizable=1,location=no,menu=no,width=10,height=10');
  imgwin.focus();
  imgwin.document.open();
  imgwin.document.write("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>\n");
  imgwin.document.write("<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'>\n"); // euc-kr? utf-8?
  imgwin.document.write("<title>큰이미지</title>\n");   // 새창으로 페이지 제목
  imgwin.document.write("<sc"+"ript>\n");
  imgwin.document.write("function resize() {\n");
  imgwin.document.write("pic = document.il;\n");
  //imgwin.document.write("alert(eval(pic).height);\n");
  imgwin.document.write("if (eval(pic).height) { var name = navigator.appName\n");
  imgwin.document.write("  if (name == 'Microsoft Internet Explorer') { myHeight = eval(pic).height + 60;  myWidth = eval(pic).width + 10;\n");
  imgwin.document.write("  } else { myHeight = eval(pic).height + 56; myWidth = eval(pic).width + 8; }\n");
  imgwin.document.write("  clearTimeout();\n");
  imgwin.document.write("  var height = screen.height;\n");
  imgwin.document.write("  var width = screen.width;\n");
  imgwin.document.write("  var leftpos = width / 2 - myWidth / 2;\n"); //hjhj
  imgwin.document.write("  var toppos = height / 2 - myHeight / 2; \n");
  imgwin.document.write("  self.moveTo(leftpos, toppos);\n");
  imgwin.document.write("  self.resizeTo(myWidth, myHeight);\n");
  imgwin.document.write("}else setTimeOut(resize(), 100);}\n");
  imgwin.document.write("</sc"+"ript>\n");
  imgwin.document.write("</head><body style='margin:0px;padding:0px'>");
  imgwin.document.write("<a href='#' onclick='javascript:window.close()'><img border='0' src='"+what+"' xwidth='100' xheight='50' name='il' onload='resize();' alt='이미지를 클릭하시면 창이 닫힙니다.' title='이미지를 클릭하시면 창이 닫힙니다.'></a>\n");
  imgwin.document.write("</body></html>");
  imgwin.document.close();
}
//-->
</script>

<a href="javascript:showImgWin('v6/images/index_customer.jpg')">새창으로 이미지 뜨기</a>



참고자료
http://www.imgwizard.com/?mid=tip&document_srl=430  

추가
크롬, 파이어폭스에서 스크롤바 나오는거 제어하기 
https://www.happyjung.com/bbs/board.php?bo_table=lecture&wr_id=970

댓글목록

등록된 댓글이 없습니다.


Total 152건 7 페이지
  • RSS
기술자료 목록
32
JavaScript   20455  2006-12-11 22:10  
31
JavaScript   23127  2006-11-08 21:33 ~ 2018-04-12 17:28  
30
JavaScript   19331  2006-08-17 14:56 ~ 2016-09-21 00:00  
29
JavaScript   24418  2006-08-01 02:13  
28
JavaScript   15799  2006-07-22 15:27  
27
JavaScript   41521  2006-07-12 22:58 ~ 2012-05-07 00:00  
26
JavaScript   15355  2006-07-12 12:57  
25
JavaScript   17101  2006-07-12 02:53 ~ 2006-07-20 00:00  
24
JavaScript   16699  2006-07-12 02:27 ~ 2009-01-03 00:00  
23
JavaScript   14747  2006-06-29 15:58 ~ 2007-12-29 00:00  
22
JavaScript   18019  2006-06-29 13:26 ~ 2019-08-08 18:44  
21
JavaScript   19484  2006-06-28 16:03 ~ 2018-09-03 13:26  
20
JavaScript   13442  2006-06-17 22:49 ~ 2011-06-12 00:00  
19
JavaScript   12045  2006-06-16 18:49 ~ 2007-07-22 00:00  
18
JavaScript   22920  2006-06-16 18:13 ~ 2007-04-17 00:00  
17
JavaScript   23467  2006-06-15 19:10 ~ 2021-11-25 00:43  
16
JavaScript   12800  2006-06-13 23:51  
15
JavaScript   13532  2006-06-13 13:23 ~ 2006-07-20 00:00  
열람
JavaScript   29651  2006-06-13 10:32 ~ 2014-07-14 00:00  
13
JavaScript   13972  2006-06-08 19:44  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.