이미지 클릭함 새창띄우기.. > 그누3 팁자료실

그누3 팁자료실

이미지 클릭함 새창띄우기.. 정보

javascript 이미지 클릭함 새창띄우기..

본문

1. 아래 소스를 이용해서 ***.js 파일로 만듭니다
    (텍스트에디터로 새문서->아래소스 끍어다 붙이고->****.js로 저장)

function view(what) {
var imgwin = window.open("",'WIN','scrollbars=auto,status=no,toolbar=no,resizable=no,location=no,menu=no,width=10,height=10');
imgwin.focus();
imgwin.document.open();
imgwin.document.write("<html>\n");
imgwin.document.write("<head>\n");
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 +20; myWidth = eval(pic).width + 0;\n");
imgwin.document.write(" } else { myHeight = eval(pic).height + 9; myWidth = eval(pic).width; }\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");
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>\n");
imgwin.document.write('<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" bgcolor="#ffffff">\n');

imgwin.document.write("<img border=0 src="+what+" xwidth=100 xheight=9 name=il onload='resize();' onclick='window.close();'>\n");
imgwin.document.write("</body>\n");
imgwin.document.close();
}

2. 그리고 head.sub.php에 상단에 <head>와</head>태그 사이에
<script language='JavaScript' src='./mando.js'></script>를 넣습니다.

3. 이제 어느곳에서나 onclick="view('경로명/파일명')"을 이요하여 새창열기를 할수 있읍니다..

4. 최신글에 사용시

lib/latest.lib 을 보면

for ($k=1; $k<=$cfg[file_count]; $k++) {
if (@preg_match($cfg[image_extension], $row["wr_file".$k])) {
$list[$i]["file_image".$k] = "./data/file/$bo_table/" . $row["wr_file".$k];
}
}

이부분 입니다...


불러오기 위해서는 최신글 스킨에서

보여주고 싶은곳에

<img src=<?=$list[$i][file_image1]?> width= height=  onclick="view('./data/file/$bo_table/$row[wr_file1]')"> // 1번파일 일경우..
<img src=<?=$list[$i][file_image2]?> width= height= onclick="view('./data/file/$bo_table/$row[wr_file2]')"> // 2번파일 일경우..

불러오면 됩니다...

5. 게시판 리스트에서 사용시

gblist.php 에서

    for ($k=1; $k<=$cfg[file_count]; $k++) {
        if (@preg_match($cfg[image_extension], $row["wr_file".$k])) {
            $list[$i]["file_image".$k] = "./data/file/$bo_table/" . $row["wr_file".$k];           
        }
    }
위 부분을 이용하여 표현법은 최신글과 동일 하네요..

<img src=<?=$list[$i][file_image1]?> width= height=  onclick="view('./data/file/$bo_table/$row[wr_file1]')"> // 1번파일 일경우..
<img src=<?=$list[$i][file_image2]?> width= height= onclick="view('./data/file/$bo_table/$row[wr_file2]')"> // 2번파일 일경우..


6.글내용보기에서 사용할 경우

gbview.php에서

for ($i=1; $i<=$cfg[file_count]; $i++) {
    $file[$i][source] = $file[$i][view] = "";
    $wr_file = $write["wr_file".$i];
    if ($wr_file) {
        if (!(preg_match($cfg[image_extension], $wr_file) || preg_match($cfg[flash_extension], $wr_file) || preg_match($cfg[movie_extension], $wr_file))) {
            $file[$i][href] = "./?doc=$cfg[bbs_dir]/gbdownload.php&$qstr&wr_id=$wr_id&index=$i";
            $file[$i][download] = $write["wr_file".$i."_download"];
            $file[$i][size] = get_filesize("./data/file/$bo_table/$wr_file");
            $file[$i][source] = $write["wr_file".$i."_source"];
           
        }
          $file[$i][file1_v]="./data/file/$bo_table/" .$row[wr_file1];//이줄과 아랫줄 두줄을 추가 합니다
          $file[$i][file2_v]="./data/file/$bo_table/" .$row[wr_file2];//     
          $file[$i][view] = view_file_link($wr_file);
    }

gbview.skin.php에서 보여줄 곳에

<img src=<?=$file[$i][file1_v]?> width= height=  onclick="view('./data/file/$bo_table/$row[wr_file1]')"> // 1번파일 일경우..
<img src=<?=$file[$i][file2_v]?> width= height= onclick="view('./data/file/$bo_table/$row[wr_file2]')"> // 2번파일 일경우..

이렇게 합니다....

 
* 꼭 ****.js 만들지 않고 해당 파일 상단에

스크립트소스를 첨가해도 됩니다...
추천
0
  • 복사

댓글 전체

<img src='<?=$thum?>' width='<?=$thum_W?>' height='<?=$thum_H?>' alt='<?=$list[$i][wr_subject]?>' style='border-color:#A5A5A5;cursor:hand;' border=0
onclick="view('<?=$list[$i][file_image1]?>') >

style='border-color:#A5A5A5;cursor:hand;'에서
cursor:hand; 도 추가 하시길 그래야 손보양으로 보이서리 클릭을.....
1범만 하시면 될거 같구요....

이미지가 안뜨는문제는


onclick="view('<?=$list[$i][file_image1]?>')"//1번일경우 1,  2번일경우 2


이렇게 해보셔요
js파일 그누 폴더에 넣으면 되는거죠?
그리구 저같은 경우는 이미지만 띄우는거니까 몇번까지 적용 해야 하나요?
위에소스를 전부 적용 하나요
이미지 크기가 완전하게
안보일때는

스크립트 소스중

imgwin.document.write(" if (name == 'Microsoft Internet Explorer') { myHeight = eval(pic).height +20; myWidth = eval(pic).width + 0;\n");
// 익스플로러 일때 길이을 20을 더하고 넓이는 0을 더한다
    에서 +숫자의 값을 증감하세요..


imgwin.document.write(" } else { myHeight = eval(pic).height + 9; myWidth = eval(pic).width; }\n");
//익스플로러가 아니면 여기서도 중감을 하시면 뎁니다...
그림만 보여주는 거라면


<a href='<?=$list[$i][href]?>' onfocus=blur()><img src='<?=$thum?>' width='<?=$thum_W?>' height='<?=$thum_H?>' alt='<?=$list[$i][wr_subject]?>' style='border-color:#A5A5A5;' border=0 ></a></td>

위부분에서

<img src='<?=$thum?>' width='<?=$thum_W?>' height='<?=$thum_H?>' alt='<?=$list[$i][wr_subject]?>' style='border-color:#A5A5A5;' border=0 
onclick="view('./data/file/$bo_table/$row[wr_file1]')>

이렇게 해주면 될것 같구요..

글보기로 안넘어 가려면 <a href='<?=$list[$i][href]?>' onfocus=blur()>

삭제 또는 주석 처리 햐보십시오.....

결과 알려 주세요.... 그럼 이만...
<?
include_once $board_skin."/_include.php";
?>

<?
//$image_width  = 100; // 이미지 폭
//$image_height = 90; // 이미지 높이
?>

<table width='<?=$width?>' align=center><tr><td>

<table width=100%>
<tr>
    <form name=fcategory method=get action='./'>
    <input type=hidden name=doc value='<?=$doc?>'>
    <td width=50%>
        <? if ($is_category) { ?>
            <select name=ca_id onchange="location='<?=$category_location?>'+this.value;" class=select>
            <option value=''>전체</option>
            <?=$category_option?>
            </select>
        <? } ?>
    </td>
    </form>
    <td width=50% align=right><span class=etc>게시물 <?=nf($total_count)?>건</span>
    <? if ($admin_href) { echo "<a href='$admin_href'><u>A</u></a>"; } ?></td>
</tr>
</table>

<table width=100% border=0 cellpadding=3 cellspacing=1>
<form name=frmgblist method='post' action='<?="./?doc=$cfg[bbs_dir]/gbdeleteall.php"?>'>
        <input type=hidden name=bo_table value='<?=$bo_table?>'>
        <input type=hidden name=sselect  value='<?=$sselect?>'>
        <input type=hidden name=stext    value='<?=$stext?>'>
        <input type=hidden name=section  value='<?=$section?>'>
        <input type=hidden name=page    value='<?=$page?>'>

    <tr><td colspan=8 height=5 bgcolor=#ffffff></td></tr>
    <tr><td background='<?=$board_skin?>/sdw_A.gif' width='100%' height='30'></td></tr>
    <tr><td colspan=8 height=10 bgcolor=#ffffff></td></tr>

</table>



<?
// 번호에 이미지를 사용할 경우는 아래의 주석을 제거하고 $list[$i][num]의 내용을 수정후 사용하세요.
// if (!is_int($list[$i][num])) { $list[$i][num] = "<img src='$board_skin/img/arrow.gif'>"; }
?>

<!-- 여기부터 반복 부분 =================================================================================================================== -->

<table width=100% align=center cellpadding=3 border=0 >
<tr>
<? 
for ($i=0; $i<count($list); $i++) {

    $tr = "";
    if ($i && $i%$board[bo_gallery_width]==0) {
        $tr = "</tr><tr>";
    }
echo "$tr";

//if (!file_exists($list[$i][file_image1])) { $list[$i][file_image1] = "$board_skin/noimage.gif"; }


####################################################################################################################################################

$ori = $list[$i][file_image1]; //[필수](URL) "./img/Test.gif"

$ext = strtolower(substr(strrchr($ori,"."), 1)); //확장자

//if ( file_exists($ori) ) $ori_info=getimagesize($ori); else $ori_info=""; //파일이 있을 경우, 확장자 지정.
if ( $ext=="gif"||$ext=="jpg"||$ext=="jpeg"||$ext=="png"||$ext=="bmp"||$ext=="tif"||$ext=="tiff") $ori_info=getimagesize($ori); else $ori_info="";



if ( $ori_info[2]=="2" || $ori_info[2]=="3" ) { //============================================================ 원파일이 [ 2JPG, 2JPEG, 3PNG ] 경우.


$thum = $ori.".Thum" ;
if ( file_exists($thum) ) { // Thumbnail [O] 경우

$thum_info = getimagesize ($thum);
$thum_W = $thum_info[0] ;
$thum_H = $thum_info[1] ;

} else { // Thumbnail [X] 경우

if ( smaller( $ori_info[0], $ori_info[1] ) ) {

maker( $thum_W, $thum_H );
}
}

} else if ( $ori_info[2]=="1" || $ori_info[2]=="6" || $ori_info[2]=="7" ) { //=================== 원파일이 [ 1GIF,6BMP,7TIF ] 경우.

if ( smaller( $ori_info[0], $ori_info[1] ) ) {

$thum = $ori ;
}

} else { //========================================================================================= 원파일이 [ 1,2,3,6,7 ] 아닐 경우.

$thum = $noIMG ;
$noIMG_info = getimagesize ($noIMG);
$thum_W = $noIMG_info[0] ;
$thum_H = $noIMG_info[1] ;
}
####################################################################################################################################################


?>

    <td width='<?=$td_width?>%' valign=top align=center>



        <table !bgcolor=silver cellpadding=0 cellspacing=0 border=0 >

        <tr>


            <td !align=center !valign=middle !bgcolor=#F2F4F4 style='padding:12;'>

<a href='<?=$list[$i][href]?>' onfocus=blur()><img src='<?=$thum?>' width='<?=$thum_W?>' height='<?=$thum_H?>' alt='<?=$list[$i][wr_subject]?>' style='border-color:#A5A5A5;' border=0 ></a></td>

<td width=10 background='<?=$board_skin?>/sdw_R.gif' ></td>
        </tr>


<tr height=10 >
<td background='<?=$board_skin?>/sdw_B.gif' ></td>
<td background='<?=$board_skin?>/sdw_RB.gif' ></td>
</tr>


        </table>



<TABLE height=5 cellspacing=0 ><TR><TD></TD></TR></TABLE>

        <? if ($is_checkdelete) { ?><input type=checkbox name=chk_wr_id[] value='<?=$list[$i][wr_id]?>'><? } ?>&nbsp;<a href='<?=$list[$i][href]?>'><? if ($list[$i][is_notice]) echo "<b>"; ?><?=cut_str($list[$i][subject],$str,"…");?></a> <?=$list[$i][icon_new]?><? if ($list[$i][is_notice]) echo "</b>"; ?>
            <span style='font-size:8pt;'><?=$list[$i][commentcnt]?></span>
    </td>

<? }
 if (count($list) == 0) { echo "<tr><td colspan=8 align=center height=100 class='content contentbg'>자료가 없습니다.</td></tr>"; }
 
?>

</form>


</table>

<table width=100% border=0 cellpadding=0 cellspacing=0>

    <tr><td colspan=8 height=5 bgcolor=#ffffff></td></tr>
    <tr><td colspan=8 height=1 bgcolor=#999999></td></tr>
    <tr><td colspan=8 height=5 bgcolor=#ffffff></td></tr>

</table>



<!-- 여기까지 반복 부분 =================================================================================================================== -->



<table width=100% border=0 cellpadding=0 cellspacing=0>
<tr>
    <td width=50%>
<? if ($list_href) { echo "<a href='$list_href'><img src='./$board_skin/list.jpg' border='0'></a>"; } ?>
        <? if ($write_href) { echo "<a href='$write_href'><img src='./$board_skin/write.jpg' border='0'></a>"; } ?>
        <? if ($is_checkdelete) { ?>
        <a href='javascript:all_checked(true);'><img src='./<?=$board_skin?>/sel_all.jpg' border='0'></a> <a href='javascript:all_checked(false);'><img src='./<?=$board_skin?>/de_sel.jpg' border='0'></a>
        <a href='javascript:all_delete();'><img src='./<?=$board_skin?>/sel_del.jpg' border='0'></a>
        <script language='javascript'>
            function all_checked(sw)
            {
                var f = document.frmgblist;

                for (var i=0; i<f.length; i++) {
                    if (f.elements[i].name == 'chk_wr_id[]') {
                        f.elements[i].checked = sw;
                    }
                }
            }

            function all_delete()
            {
                var f = document.frmgblist;
                var chk_count = 0;

                for (var i=0; i<f.length; i++) {
                    if (f.elements[i].name == 'chk_wr_id[]' && f.elements[i].checked) {
                        chk_count++;
                    }
                }
               
                if (!chk_count) {
                    alert("게시물을 하나 이상 선택하세요.");
                    return;
                }

                if (!confirm("선택한 게시물을 정말 삭제 하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다")) {
                    return;
                }

                f.submit();
            }
        </script>
        <? } ?>
    </td>

<form name=fsearch method=get action='./'>
    <input type=hidden name=doc value='<?=$doc?>'>
    <input type=hidden name=bo_table value='<?=$bo_table?>'>

    <td width=50% align=right>
        <select name=sselect class=select>
            <option value='wr_subject|wr_content'>제목+내용</option>
            <option value='wr_name'>이름</option>
            <option value='wr_num'>번호</option>
            <option value='wr_datetime'>날짜</option>
            <option value='wr_subject'>제목</option>
            <option value='wr_content'>내용</option>
            <option value='wr_hit'>읽음</option>
            <? if ($is_good) { ?><option value='wr_good'>추천</option><? } ?>
            <? if ($is_nogood) { ?><option value='wr_nogood'>비추천</option><? } ?>
        </select><input type=text name=stext size=10 required itemname='검색어' class=input2 value='<?=$stext?>'><input type=submit value='검색' class=button>
    </td>
    </form>
</tr>
</table>
<? if ($stext) { ?>
    <script language='JavaScript'>
        if ('<?=$sselect?>' == 'ca_id') {
            document.fcategory.ca_id.value = '<?=$stext?>';
            document.fsearch.stext.value = '';
        } else {
            document.fsearch.sselect.value = '<?=$sselect?>';
        }
    </script>
<? } ?>

<table align=center width=100%>
<tr>
    <td align=right>
        <? if ($prev_section_href) { echo "<a href='$prev_section_href'>이전검색</a>"; } ?>
        <?=$write_pages?>
        <? if ($next_section_href) { echo "<a href='$next_section_href'>다음검색</a>"; } ?>
    </td>
</tr>
</table>

</td></tr></table>
gblist 파일 인데요
그러니까 이미지 클릭하면 view로 넘어가는게 아니라
바로 새창 띄우게요..
http://arttoart.pe.kr/gnu3/index.php?doc=bbs/gnuboard.php&bo_table=inmul<--갤러리
박갑성님// 만도라는 이름도 코만도에서 코만 뺀거예요.....ㅎㅎㅎ
                낭카로운 판단력......찔렸읍니다... 예리함에...
최신글인가요? 아님 목록보기인가요?

최신글이라면

제가 쓰고있는 소스입니다만

<table width=150 height=150 border=0 cellpadding=0 cellspacing=0  background='<?=$latest_skin?>/sale_bg.gif' >
<tr>
<td  width=90% height=20 align=left  valign=middle style='padding-left:5px;padding-top:5px;align:absmiddle;' nowrap><img src='<?=$latest_skin?>/sale_t.gif' border='0' align='absmiddle'><a href='<?="./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$bo_table"?>'><?=$bo_subject?></a></td>
<td width=10% align=right valign=middle style='padding-right :5px;padding-top:2px'><a href='<?="./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$bo_table"?>'><img src='<?=$latest_skin?>/list_l.gif' border='0' align='absmiddle'></a></td>
</tr>
<tr>
<td colspan=2>
<table width=100% height=100% cellpadding=0 cellspacing=0 >
<? for ($i=0; $i<count($list); $i++) { ?>
  <tr>
  <td width=100%  align=center valign=middle style='padding-top:5px;padding-bottom:5px;'>


<img src=<?=$list[$i][file_image1]?> width= height= onclick="view('./data/file/$bo_table/$row[wr_file1]')">

// 이렇게 for문 사이에 자리릏 마련해서 넣습니다....
    글목록보기도 마찬가지 입니다.... 


</td>
  </tr>
  <tr>
    <td  valign=top  >
      <table width='100%' height=100% cellpadding=0 cellspacing=0 align=left  valign=top>
      <tr>
        <td height=20 valign=middle align=left style='padding-top:1px;padding-left:5px;padding-right :5px'><img src='<?=$latest_skin?>/sale_i.gif' border='0' align='absmiddle'> <a href='<?="./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$bo_table&wr_id={$list[$i][wr_id]}"?>'><?=$list[$i][subject]?><?=$list[$i][commentcnt]?></a></td>
      </tr>
    </table>
  </td>
</tr>
<? } ?>
</table>
</td>
</tr>
</table>
<img src=<?=$list[$i][file_image1]?> width= height= onclick="view('./data/file/$bo_table/$row[wr_file1]')"> // 1번파일 일경우..
<img src=<?=$list[$i][file_image2]?> width= height= onclick="view('./data/file/$bo_table/$row[wr_file2]')"> // 2번파일 일경우..
이걸 어디다가 넣어야 하나요?
무언가 계속 열려구하는 중 같은데요....

이유는 이미지들가 다운로드 완전히 안되었을 수도 이구요

여러가지 일텐데요....

여튼 잘못된건 확실한데요....
© SIRSOFT
현재 페이지 제일 처음으로