이미지 클릭 새창팝업- 일반 페이지에도 적용하는방법 정보
이미지 클릭 새창팝업- 일반 페이지에도 적용하는방법본문
고수님들의 도움부탁드립니다. 디자인만 할줄알고 스크립트나 프로그램에 대해서 전혀 모르는지라 하루종이 이것저것 해보고 싸우다가 고수님들의 절실한 도움부탁드립니다.
그누보드에서 게시판에 게시글을 올리면 외부이미지링크이건 파일을 올렸던간에 이미지파일이면 무조건 이미지가 팝업으로 뜨게 되는데..
일반페이지를 만들어서 사용할때 그누보드 게시글처럼 이미지는 전부 팝업을 시키고 싶습니다.
그누보드의 어디 소스를 일반페이지에 넣어야 전체페이지안에 모든 이미지 파일이 팝업이 될런지요?
bbs/view.php 파일에서 떼어서 일반 페이지에서 여기 저기 붙여넣어도 안되고 ㅠㅜ
어디 어디를 떼어서 일반페이지에 넣어야 팝업새창으로 모든이미지가 뜨려는지요?
사이트 만들때 그누보드하고 같이 이용하는 부분이라 일반페이지에서도 그누보드 새창 효과가 필요해서요.. 부탁드립니다~~
고수님들의 도움이 절실히 필요한 초보 문의드립니다~~
그누보드에서 게시판에 게시글을 올리면 외부이미지링크이건 파일을 올렸던간에 이미지파일이면 무조건 이미지가 팝업으로 뜨게 되는데..
일반페이지를 만들어서 사용할때 그누보드 게시글처럼 이미지는 전부 팝업을 시키고 싶습니다.
그누보드의 어디 소스를 일반페이지에 넣어야 전체페이지안에 모든 이미지 파일이 팝업이 될런지요?
bbs/view.php 파일에서 떼어서 일반 페이지에서 여기 저기 붙여넣어도 안되고 ㅠㅜ
어디 어디를 떼어서 일반페이지에 넣어야 팝업새창으로 모든이미지가 뜨려는지요?
사이트 만들때 그누보드하고 같이 이용하는 부분이라 일반페이지에서도 그누보드 새창 효과가 필요해서요.. 부탁드립니다~~
고수님들의 도움이 절실히 필요한 초보 문의드립니다~~
댓글 전체

common.js 에 보시면 image_window() 라는 자바스크립트 함수가 있어요.
근데 잘 안되더라구요. 로딩은 다 안했는데 크기 계산하려구 해서 오류가 많이 나더라구요.
질문과 답 게시판에 개량한게 있을꺼예요.
사용법은
<img src="주소" onclick="image_window(this)">
로 기억하는데 근데 잘 안되요. 로딩은 다 안했는데 크기 계산하려구 해서 오류가 많이 나더라구요. 질문과 답 게시판에 개량한게 있을꺼예요.
썸네일 안쓰시면 그냥 그대로 사용하셔도 될듯하구요.
제가 쓰고있는 함수는
function image_window(img, w, h)
{
var img, w, h;
if(!w) {
if(img.tmp_width) { // this 1
w = img.tmp_width;
h = img.tmp_height;
img = img.src;
} else if(!img.width) { // this 2
var imgObj = new Image();
imgObj.src = img;
img = imgObj.src;
w = imgObj.width;
h = imgObj.height;
} else { // url
w = img.width;
h = img.height;
img = img.src;
}
}
// 로딩되지(읽지) 않은 이미지의 오류. beta 2006.06.26
if(!parseInt(w)) {
//img = img.src;
w = img.width;
h = img.height;
}
wsw = window.screen.width;
wsh = window.screen.height;
winl = (w >= wsw) ? 0 : (wsw-w)/2;
wint = (h >= wsh) ? 0 : (wsh-h)/3;
if(!g4_charset) var g4_charset = 'euc-kr';
win=window.open('','newWindow','width='+w+',height='+h+',top='+wint+',left='+winl+',scrollbars=no,resizable=no,status=no');
win.document.open();
win.document.write ("<html><head> \n<meta http-equiv='imagetoolbar' CONTENT='no'> \n<meta http-equiv='content-type' content='text/html; charset="+g4_charset+"'>\n");
win.document.write ("<title>이미지 "+w+" x "+h+"</title> \n");
if(!winl || !wint) {
var js_url = "<script language='JavaScript'> \n";
js_url += "<!-- \n";
js_url += "var is_ie=document.all; \n";
js_url += "var isdrag=false; \n";
js_url += "var x,y,dobj; \n";
js_url += "function movemouse(e) { \n";
js_url += "if (isdrag) { \n";
js_url += "dobj.style.left = is_ie ? tx + event.clientX - x : tx + e.clientX - x; \n";
js_url += "dobj.style.top = is_ie ? ty + event.clientY - y : ty + e.clientY - y; \n";
js_url += "return false; }} \n";
js_url += "function selectmouse(e) { \n";
js_url += "var fobj = is_ie ? event.srcElement : e.target; \n";
js_url += "var topelement = is_ie ? 'BODY' : 'HTML'; \n";
js_url += "while (fobj.tagName != topelement && fobj.className != 'dragme') { \n";
js_url += "fobj = is_ie ? fobj.parentElement : fobj.parentNode; } \n";
js_url += "if (fobj.className=='dragme') { \n";
js_url += "isdrag = true; \n";
js_url += "dobj = fobj; \n";
js_url += "tx = parseInt(dobj.style.left+0); \n";
js_url += "ty = parseInt(dobj.style.top+0); \n";
js_url += "x = is_ie ? event.clientX : e.clientX; \n";
js_url += "y = is_ie ? event.clientY : e.clientY; \n";
js_url += "document.onmousemove=movemouse; \n";
js_url += "return false; }} \n";
js_url += "document.onmousedown=selectmouse; \n";
js_url += "document.onmouseup=new Function('isdrag=false'); \n";
js_url += "//--> \n";
js_url += "</"+"script> \n";
win.document.write (js_url);
var click = "ondblclick='window.close();' style='cursor:move'";
} else
var click = "onclick='window.close();' style='cursor:pointer'";
win.document.write ("<style>.dragme{position:relative;}</style>\n");
win.document.write ("</head> \n\n");
win.document.write ("<body leftmargin='0' topmargin='0' marginwidth='0' marginheight='0' bgcolor='#dddddd'> \n");
win.document.write ("<table cellpadding='0' cellspacing='0' width='100%' height='100%'><tr><td align='center'><img src='"+img+"' name='imgs' width='"+w+"' height='"+h+"' oncontextmenu=\"if(confirm('프린트 하겠습니까?')){window.print(); return false;}\"; "+click+" class='dragme'></td></tr></table> \n");
win.document.write ("</body></html>");
win.document.close();
if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}
이건데요.
상단에 <script></script> 태그로 감싸서 넣으셔도되고
그누의 common.js 를 불러다 쓰셔도 됩니다.
근데 잘 안되더라구요. 로딩은 다 안했는데 크기 계산하려구 해서 오류가 많이 나더라구요.
질문과 답 게시판에 개량한게 있을꺼예요.
사용법은
<img src="주소" onclick="image_window(this)">
로 기억하는데 근데 잘 안되요. 로딩은 다 안했는데 크기 계산하려구 해서 오류가 많이 나더라구요. 질문과 답 게시판에 개량한게 있을꺼예요.
썸네일 안쓰시면 그냥 그대로 사용하셔도 될듯하구요.
제가 쓰고있는 함수는
function image_window(img, w, h)
{
var img, w, h;
if(!w) {
if(img.tmp_width) { // this 1
w = img.tmp_width;
h = img.tmp_height;
img = img.src;
} else if(!img.width) { // this 2
var imgObj = new Image();
imgObj.src = img;
img = imgObj.src;
w = imgObj.width;
h = imgObj.height;
} else { // url
w = img.width;
h = img.height;
img = img.src;
}
}
// 로딩되지(읽지) 않은 이미지의 오류. beta 2006.06.26
if(!parseInt(w)) {
//img = img.src;
w = img.width;
h = img.height;
}
wsw = window.screen.width;
wsh = window.screen.height;
winl = (w >= wsw) ? 0 : (wsw-w)/2;
wint = (h >= wsh) ? 0 : (wsh-h)/3;
if(!g4_charset) var g4_charset = 'euc-kr';
win=window.open('','newWindow','width='+w+',height='+h+',top='+wint+',left='+winl+',scrollbars=no,resizable=no,status=no');
win.document.open();
win.document.write ("<html><head> \n<meta http-equiv='imagetoolbar' CONTENT='no'> \n<meta http-equiv='content-type' content='text/html; charset="+g4_charset+"'>\n");
win.document.write ("<title>이미지 "+w+" x "+h+"</title> \n");
if(!winl || !wint) {
var js_url = "<script language='JavaScript'> \n";
js_url += "<!-- \n";
js_url += "var is_ie=document.all; \n";
js_url += "var isdrag=false; \n";
js_url += "var x,y,dobj; \n";
js_url += "function movemouse(e) { \n";
js_url += "if (isdrag) { \n";
js_url += "dobj.style.left = is_ie ? tx + event.clientX - x : tx + e.clientX - x; \n";
js_url += "dobj.style.top = is_ie ? ty + event.clientY - y : ty + e.clientY - y; \n";
js_url += "return false; }} \n";
js_url += "function selectmouse(e) { \n";
js_url += "var fobj = is_ie ? event.srcElement : e.target; \n";
js_url += "var topelement = is_ie ? 'BODY' : 'HTML'; \n";
js_url += "while (fobj.tagName != topelement && fobj.className != 'dragme') { \n";
js_url += "fobj = is_ie ? fobj.parentElement : fobj.parentNode; } \n";
js_url += "if (fobj.className=='dragme') { \n";
js_url += "isdrag = true; \n";
js_url += "dobj = fobj; \n";
js_url += "tx = parseInt(dobj.style.left+0); \n";
js_url += "ty = parseInt(dobj.style.top+0); \n";
js_url += "x = is_ie ? event.clientX : e.clientX; \n";
js_url += "y = is_ie ? event.clientY : e.clientY; \n";
js_url += "document.onmousemove=movemouse; \n";
js_url += "return false; }} \n";
js_url += "document.onmousedown=selectmouse; \n";
js_url += "document.onmouseup=new Function('isdrag=false'); \n";
js_url += "//--> \n";
js_url += "</"+"script> \n";
win.document.write (js_url);
var click = "ondblclick='window.close();' style='cursor:move'";
} else
var click = "onclick='window.close();' style='cursor:pointer'";
win.document.write ("<style>.dragme{position:relative;}</style>\n");
win.document.write ("</head> \n\n");
win.document.write ("<body leftmargin='0' topmargin='0' marginwidth='0' marginheight='0' bgcolor='#dddddd'> \n");
win.document.write ("<table cellpadding='0' cellspacing='0' width='100%' height='100%'><tr><td align='center'><img src='"+img+"' name='imgs' width='"+w+"' height='"+h+"' oncontextmenu=\"if(confirm('프린트 하겠습니까?')){window.print(); return false;}\"; "+click+" class='dragme'></td></tr></table> \n");
win.document.write ("</body></html>");
win.document.close();
if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}
이건데요.
상단에 <script></script> 태그로 감싸서 넣으셔도되고
그누의 common.js 를 불러다 쓰셔도 됩니다.
메가초코님 답변주셔서 너무 너무 감사합니다.^^~~
그런데 이미지 링크가 특정 이미지가 아닌 페이지 전체의 이미지링크된 파일은 모두 팝업이 되었으면 하는것인데..
<img src="주소" onclick="image_window(this)">
이미지파일... 주소한개만 팝업되는것이 아니라 그누보드에서 처럼 외부링크이건 파일등록된것이건 이미지 링크된것은 모두 팝업이 되어야 하는데.. 혹시 더 도움을 주실수 있는지요..
에구 초보라 부탁만 드리고 죄송합니다.
그런데 이미지 링크가 특정 이미지가 아닌 페이지 전체의 이미지링크된 파일은 모두 팝업이 되었으면 하는것인데..
<img src="주소" onclick="image_window(this)">
이미지파일... 주소한개만 팝업되는것이 아니라 그누보드에서 처럼 외부링크이건 파일등록된것이건 이미지 링크된것은 모두 팝업이 되어야 하는데.. 혹시 더 도움을 주실수 있는지요..
에구 초보라 부탁만 드리고 죄송합니다.