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

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

본문 바로가기

사이트 내 전체검색

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

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 2,641건 128 페이지
  • RSS
기술자료 목록
101
Secure   12747  2006-06-14 19:29  
100
JavaScript   12791  2006-06-13 23:51  
99
JavaScript   13495  2006-06-13 13:23 ~ 2006-07-20 00:00  
열람
JavaScript   29615  2006-06-13 10:32 ~ 2014-07-14 00:00  
97
MySQL   14747  2006-06-12 17:06 ~ 2021-10-25 17:45  
96
JavaScript   13943  2006-06-08 19:44  
95
ClassicASP   36851  2006-06-08 19:41  
94
HTML   11312  2006-06-08 00:23  
93
PHP   12231  2006-06-07 10:00  
92
HTML   19504  2006-06-05 17:33  
91
HTML   30251  2006-06-03 19:45 ~ 2015-09-19 00:00  
90
MySQL   12969  2006-06-02 16:27 ~ 2017-08-11 00:00  
89
일반   19295  2006-05-31 19:32 ~ 2021-03-11 07:46  
88
제로보드   17650  2006-05-29 17:41  
87
HTML   23887  2006-05-29 16:39  
86
Linux   14003  2006-05-29 15:08  
85
MySQL   13653  2006-05-26 20:00  
84
제로보드   13205  2006-05-26 18:15 ~ 2018-07-28 03:41  
83
PHP   14630  2006-05-25 19:57 ~ 2012-04-16 00:00  
82
PHP   12296  2006-05-25 17:27 ~ 2019-03-19 04:01  

검색

해피정닷컴 정보

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

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