웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
아래 새창에 맞게 이미지 띄우기 더더 업그레이드 판!
2002.12.09 20:53
1. 짤린 그림파일일때 메시지 띄우기
2. 너무 큰 (해상도보다 큰) 그림일 경우 작게 리사이즈 해서 보여주기 (그 후 원래 크기로 볼지 선택가능)
3. 기타등등 ..
[ps] 행복한고니님의 스크립트를 토대로 변형시켰음을 밝힙니다;
<script>
function imgPreview(img){
/* This Script by AT4u -/
/ EMail : atply@atply.com -/
/ HOME : http://atply.com -/
/ 배포시에는 절대로 이 카피라 -/
/ 트를 훼손하여선 안됩니다. */
// Orignal by 행복한고니(gonom9@empal.com)
var wdh ;
var hei ;
var T_Left;
var T_Top ;
var T_Wid ;
var T_Hei ;
var T_IsM ;
var T_IsMM;
var Temp = new Image();
Temp.src = img;
wdh = screen.width;
hei = screen.height;
if (Temp.width > wdh) {
T_Wid = wdh;
T_Left = 0;
T_IsM = 1;
} else {
T_Wid = Temp.width;
T_Left = (wdh - Temp.width) / 2;
}
if (Temp.height > hei) {
T_Hei = hei;
T_Top = 0;
T_IsM = 1;
} else {
T_Hei = Temp.height;
T_Top = (hei - Temp.height) / 2;
}
if (T_IsM) {
T_IsMM = "javascript:if (confirm('지금 보신 그림은 크기가 너무 커서 줄어든 그림입니다. 크게 보시겠습니까?nn확인 = 크게 보기, 취소 = 그냥 닫기')) { var ww = window.open('', 'AT4u_iPreBig', 'left=0,top=0,status=0,toolbar=no,scrollbars=yes,width="+(T_Wid + 17)+",height="+(T_Hei - 100)+",left="+T_Left+",top="+T_Top+"'); ww.document.writeln('+ '<HTML> <TITLE> Image Preview - Orignal Size </TITLE><STYLE> body {margin:0pt;} </style> <BODY><a href='javascript:self.close()'><img src='"+img+"' width="+Temp.width+" height="+Temp.height+" border=0></a></body></html>'); } self.close();";
} else {
T_IsMM = "javascript:self.close();";
}
var WindowT = window.open("","AT4u_iPre","width="+T_Wid+",height="+T_Hei+",left="+T_Left+",top="+T_Top+",status=no,toolbar=no,scrollbars=no,resizable=no");
WindowT.document.writeln("<HTML> <TITLE> Image Preview </TITLE><STYLE> body {margin:0pt;} </style> <BODY><a href=""+T_IsMM+""><img name='at4uPre' src='"+img+"' width="+T_Wid+" height="+T_Hei+" border=0 onerror="alert('그림 파일이 없습니다. 짤린 그림 파일 같습니다.'); self.close()"></a></body></html>");
}
</script>
2. 너무 큰 (해상도보다 큰) 그림일 경우 작게 리사이즈 해서 보여주기 (그 후 원래 크기로 볼지 선택가능)
3. 기타등등 ..
[ps] 행복한고니님의 스크립트를 토대로 변형시켰음을 밝힙니다;
<script>
function imgPreview(img){
/* This Script by AT4u -/
/ EMail : atply@atply.com -/
/ HOME : http://atply.com -/
/ 배포시에는 절대로 이 카피라 -/
/ 트를 훼손하여선 안됩니다. */
// Orignal by 행복한고니(gonom9@empal.com)
var wdh ;
var hei ;
var T_Left;
var T_Top ;
var T_Wid ;
var T_Hei ;
var T_IsM ;
var T_IsMM;
var Temp = new Image();
Temp.src = img;
wdh = screen.width;
hei = screen.height;
if (Temp.width > wdh) {
T_Wid = wdh;
T_Left = 0;
T_IsM = 1;
} else {
T_Wid = Temp.width;
T_Left = (wdh - Temp.width) / 2;
}
if (Temp.height > hei) {
T_Hei = hei;
T_Top = 0;
T_IsM = 1;
} else {
T_Hei = Temp.height;
T_Top = (hei - Temp.height) / 2;
}
if (T_IsM) {
T_IsMM = "javascript:if (confirm('지금 보신 그림은 크기가 너무 커서 줄어든 그림입니다. 크게 보시겠습니까?nn확인 = 크게 보기, 취소 = 그냥 닫기')) { var ww = window.open('', 'AT4u_iPreBig', 'left=0,top=0,status=0,toolbar=no,scrollbars=yes,width="+(T_Wid + 17)+",height="+(T_Hei - 100)+",left="+T_Left+",top="+T_Top+"'); ww.document.writeln('+ '<HTML> <TITLE> Image Preview - Orignal Size </TITLE><STYLE> body {margin:0pt;} </style> <BODY><a href='javascript:self.close()'><img src='"+img+"' width="+Temp.width+" height="+Temp.height+" border=0></a></body></html>'); } self.close();";
} else {
T_IsMM = "javascript:self.close();";
}
var WindowT = window.open("","AT4u_iPre","width="+T_Wid+",height="+T_Hei+",left="+T_Left+",top="+T_Top+",status=no,toolbar=no,scrollbars=no,resizable=no");
WindowT.document.writeln("<HTML> <TITLE> Image Preview </TITLE><STYLE> body {margin:0pt;} </style> <BODY><a href=""+T_IsMM+""><img name='at4uPre' src='"+img+"' width="+T_Wid+" height="+T_Hei+" border=0 onerror="alert('그림 파일이 없습니다. 짤린 그림 파일 같습니다.'); self.close()"></a></body></html>");
}
</script>
댓글 6
-
디아릭스
2002.12.16 01:40
-
한상욱
2003.01.05 21:47
그런데 한가지 문제가 있는듯 하네요..
포토샵에서 자동 앨범 만들기 기능을 한후에.. 작은이미지를 클릭하면 이미지 크기에 맞는 창으로 이미지를
띄우게 하려 했답니다..
위에 설명하신데로 했는데.. 이상한게 있네요..
작은이미지를 클릭하면 처음엔 화면가득 큰창 하나만 덩그러니 열리네요.
큰창 지우고 다시 방금전 클릭했던 작은 이미지를 클릭하니.. 재대로 열리는군요..
모든이미지들이 한번씩 그렇습니다...
처음눌렸을때는 큰창..(에러)... 다시 반복하면 정상...
왜 그럴까요? -
정지웅
2003.01.10 17:04
맞아여 이 기능 에러 있는기능인듯하네여... 결정적인 에러라서 쓸수가 없네여...
한상욱님 말처럼 첨에 큰창이 한번 떴다가 그창닫고 두번째 시도할때 부터 제대로 떠여... 져도 밑에 답글 올렸는데..
대답도 안해주시네여... 멜 까지 보냈는데 에러이다고..
해결이 안되나 보죠... -
김두영
2003.06.20 03:22
에러났을때 페이지 소스에서
Temp.width 나 Temp.height 값이 0으로 셋팅되더군요.
근본적인 해결책은 될 수 없지만 아니지만 공백페이지가 뜨는 것을 방지하게 하려면
var Temp = new Image();
Temp.src = img;
다음라인에
if (Temp.width == 0 ) return;
하시면 사용자가 한번 더 클릭 하면 제대로된 화면이 뜰겁니다.
제 생각은 함수값 넘겨주는부분 아니면, 인자생성시에 문제가 있지 않을까 합니다. -
띠엠므
2003.05.16 10:51
아래 행복한 고니님의 소스를 쓰려다가 여기에도 같은 문제가 발생하네요. 다들 같은 문제로 고민하시는 것 같은데
만들어 주신분들, AS좀 부탁드림 안될까영 ? ^^;
첨엔 이상하케 큰 공백으로 뜨다가 담부턴 정상적으로 뜨는 둥 불규칙적이게 공백이 뜨는 둥 자꾸 그러답니다. ^^ -
고냉이 콱!
2003.06.03 01:21
저도 같은오류 ㅡ.ㅡ 한번 불러들였던 이미지가 아니라면 빈 창으로 뜹니다
제목 | 글쓴이 | 날짜 |
---|---|---|
홈페이지 패스워드(암호) 걸기 소스 [6] | keymove | 2003.01.09 |
select form 으로 새 창 띄우기 [4] | 당근당근 | 2003.01.07 |
[re] select form 으로 새 창 띄우기(간단버전) [3] | RedEye | 2003.01.27 |
갤러리스킨에 쓰면 좋을 것 같은 미리보기(수정2) [10] | 행복한고니 | 2003.01.06 |
크롬리스에 응용할만한 소스;; [3] | MYMob.INT. | 2003.01.05 |
숫자를 한글로 변환하는 함수 [1] | 행복한고니 | 2003.01.03 |
mid 랜덤으로 듣기 ... [2] | 아벨라 | 2003.01.02 |
색다른 링크법(새창) [2] | BIRDY™ | 2002.12.30 |
텍스트 폼 / 전체선택 하기 자바스크립 | mnemosyne | 2002.12.24 |
div, Javascript 이용해서 섹션 테이블 만들기 [3] | mnemosyne | 2002.12.18 |
크롬리스 완벽해결! IE.2.0부터 Netscape까지 작동가능!! [13] | 김민호 | 2002.12.16 |
오른쪽 클릭 메뉴 [6] | 디아릭스 | 2002.12.16 |
select form 으로 새창띄우기(수정:2002-12-19) [3] | dolufy | 2002.12.11 |
홈페이지에 머무른 시간을 알림창으로 나타내기. [3] | 시즌오브드림 | 2002.12.10 |
출렁이며 내려오는 공지창.. [3] | 아벨라 | 2002.12.10 |
아래 새창에 맞게 이미지 띄우기 더더 업그레이드 판! [6] | ATply | 2002.12.09 |
이동 메뉴 (Netscape 가능 NZEO.com 소스) [9] | 박영창 | 2002.12.08 |
아래 이미지크기에 맞게 새창띄우는 소스(기능개선판) (-_-) v [10] | 행복한고니 | 2002.12.07 |
[re] 오류 아닌 오류 나시는 분덜... | 임병찬 | 2003.04.22 |
이미지 크기에 맞게 새창띄우는 자바소스인데요~ [3] | 새벽이슬 | 2002.12.07 |
근데 무지 길군요.
암튼 감사히 쓰겠습니다.