t

리스트의 이미지가 새창에서 안뜹니다.

forever님의 스킨을 사용중인데요.
 
 
설정을 2로 했습니다. (이미지클릭시 새창으로 이미지가 뜨고, 제목클릭시 본문으로 이동)
 
 
리스트에서 이미지클릭하면 새창은 뜨는데요.이미지가 안나오네요.
어쩌다가 이미지가 나오다가도 몇번클릭하다 보면 또 안나오구요.
 
본문에서는 새창에서 이미지가 잘 나오거든요.
 
 
 
아예 이미지가 안나오는것도 아니구.가끔 한번씩 이미지가 뜨거든요...;;
어떻게 된건지 도무지 모르겠네요.
답변좀 부탁드립니다.
 
 
 
 
 
 
|

댓글 9개

==>> 아예 이미지가 안나오는것도 아니구.가끔 한번씩 이미지가 뜨거든요...;;

접속환경의 문제가 아닐까 생각합니다.
아예 안뜨거나 해야는데 떴다 안떴다 하는것은 접속회선이나 사용자 컴의 문제로 보입니다.
회선문제라면 본문이미지도 그래야 되는데요.
본문에서는 아무리 클릭해도 이미지가 안뜨는 현상이 없거든요.
해당 링크를 알려주세요~~~
이미지는 나오는군요.
새창소스를 보니깐,

...
<img src='이미지주소' width='0' height='0' onclick='window.close();' style='cursor:pointer' class='dragme'>
...


이미지는 넘겨지는데요.
근데 새창이 리사이즈가 안되고, 이미지크기가 width='0' height='0' 이렇게 나옵니다.

그리고 제가 컴에서 작업하고 있어서 링크를 걸수가 없어요.
팝업창으로 넘기는 부분의 이미지 싸이즈 설정 부분을 보세요....
아니면 넘겨받는 부분이던가....
소스를 좀 올려볼께요.

============================================
스킨폴더/list.skin.php소스
============================================
...
...
...
if($board[bo_10] == '2') {
echo "<script language='javascript' src='{$board_skin_path}/image_window.js'></script>";
$view_img = "<a href=\"javascript:;\" OnClick=\"image_window('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\">";
$view_href = "<a class='bl' href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
}
...
...
...


============================================
스킨폴더/image_window.js
============================================

// 이미지의 크기에 따라 새창의 크기가 변경됩니다.
// zzzz님께서 알려주셨습니다. 2005/04/12 , Re 2006/03/23
function image_window(img, w, h)
{
if(!w) {
if(!img.width) {
var imgObj = new Image();
imgObj.src = img;
var img = imgObj.src;
var w = imgObj.width;
var h = imgObj.height;
} else {
var w = img.width;
var h = img.height;
var img = img.src;
}
var option = "yes";
} else
var option = "no";

winl = (screen.width-w)/2;
wint = (screen.height-h)/3;

if (w >= screen.width) {
winl = 0;
h = (parseInt)(w * (h / w));
}

if (h >= screen.height) {
wint = 0;
w = (parseInt)(h * (w / h));
}
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; \n";
js_url += "var dobj; \n";
js_url += "function movemouse(e) \n";
js_url += "{ \n";
js_url += " if (isdrag) \n";
js_url += " { \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 += " } \n";
js_url += "} \n";
js_url += "function selectmouse(e) \n";
js_url += "{ \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 += " { \n";
js_url += " fobj = is_ie ? fobj.parentElement : fobj.parentNode; \n";
js_url += " } \n";
js_url += " if (fobj.className=='dragme') \n";
js_url += " { \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 += " } \n";
js_url += "} \n";
js_url += "document.onmousedown=selectmouse; \n";
js_url += "document.onmouseup=new Function('isdrag=false'); \n";
js_url += "//--> \n";
js_url += "</"+"script> \n";

var settings ='width='+w+',';
settings +='height='+h+',';
settings +='top='+wint+',';
settings +='left='+winl+',';
settings +='scrollbars=no,';
settings +='resizable='+option+',';
settings +='status=no';

if(!g4_charset) var g4_charset = 'euc-kr';
win=window.open("","newWindow",settings);
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(w >= screen.width || h >= screen.height) {
win.document.write (js_url);
var click = "width='"+w+"' height='"+h+"' ondblclick='window.close();' style='cursor:move'";
} else
var click = "width='"+w+"' height='"+h+"' 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+"' "+click+" class='dragme'></td></tr></table> \n");
win.document.write ("</body></html>");
win.document.close();

if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}
$view_img = "<a href=\"javascript:;\" OnClick=\"image_window('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\">";

위소스에서

function image_window(img, w, h) 함수에 w,h 값을 넘겨주지 않아서 그럴까요?

제가 초보라서 어렵네요.
저도 확인해보니 똑같은 문제가 있습니다. 첨에는 안보였다가 다시 클릭하면 보이는.. -_- ;;

리스트화면에서 image_window.js 스크립터를 실행시, 이미지를 불러올때 이미지의 사이즈를 먼저 불러와줘야 하는데 그게 안되는거 같군요. 등록되는 이미지의 크기가 다 다르다 보니 미리 지정할수도 없고
스크립터가 실행된다음, 이미지의 원본크기를 불러와야 하는건데....






임시방편입니다만, 아래의 코드로 대체하십시요.
아래 코드의 단점은 .......
..................................단점 : 화면보다 큰이미지인경우, 마우스를 이용한 화면이동이 안됩니다.



1. image_window.js 파일을 아래 코드로 대체하십시요.
----------------------------------------------------------------------------

function image_window2(imageURL){
<!--
imageHandle=open("","popupForImage","toolbar=no,location=no,status=no,manubar=no,scrollbars=no,resizable=yes,width=100,height=100,top=0,left=0");
imageHandle.document.write("<title> </title>");
imageHandle.document.write("<style>");
imageHandle.document.write("*{margin:0;padding:0;border:0;}");
imageHandle.document.write("</style>");
imageHandle.document.write("<img src=\""+imageURL+"\" onload=\"window.resizeTo(this.width,this.height);\" onclick=\"self.close();\" style=\"cursor:hand;\" title=\"클릭하면 닫힙니다.\">");
-->
}





2. list.skin.php 144~158라인쪽의 코드를 아래 코드로 대체하십시요.
-----------------------------------------------------------------------------------------------

//---- 이미지 새창보기 여부 설정
if($board[bo_10] == '1') {
$view_img = "<a href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
$view_href = "<a class='bl' href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
}
if($board[bo_10] == '2') {
echo "<script language='javascript' src='{$board_skin_path}/image_window.js'></script>";
$view_img = "<a href=\"javascript:;\" OnClick=\"image_window2('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\" >";
$view_href = "<a class='bl' href='{$g4[bbs_path]}/board.php?bo_table=$bo_table&wr_id={$list[$i][wr_id]}'>";
}
if($board[bo_10] == '3') {
echo "<script language='javascript' src='{$board_skin_path}/image_window.js'></script>";
$view_img = "<a href=\"javascript:;\" OnClick=\"image_window2('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\" >";
$view_href ="<a href=\"javascript:;\" OnClick=\"popupImage('$g4[path]/data/file/$bo_table/$image')\" onFocus=\"this.blur();\" >";
}
워낙 초보라 답답했었는데요...감사의 말부터...^^

그리구 위소스도 적용시켰습니다.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 1,707
19년 전 조회 1,499
19년 전 조회 1,983
19년 전 조회 2,781
19년 전 조회 1,567
19년 전 조회 1,619
19년 전 조회 1,536
19년 전 조회 1,572
19년 전 조회 1,360
19년 전 조회 1,566
19년 전 조회 2,232
19년 전 조회 1,387
19년 전 조회 1,204
19년 전 조회 1,594
19년 전 조회 1,059
19년 전 조회 1,595
19년 전 조회 1,593
19년 전 조회 1,086
19년 전 조회 1,512
19년 전 조회 1,497
🐛 버그신고