뷰페이지 큰 이미지 리사이즈 방법 변경... > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

뷰페이지 큰 이미지 리사이즈 방법 변경... 정보

뷰페이지 큰 이미지 리사이즈 방법 변경...

본문

2~3년전에 팁을 올렸던 것 같은데 찾아보니 안보이네...
원본 소스도 바뀐 부분이 있으니 다시 올립니다
어쨌던 아래와 같습니다(view.skin.php만 수정하면 됩니다)
====================================================
큰 이미지 리사이즈시 화면 이상하게 되는 것 방지
====================================================
view.skin.php 에서
  <?
        // 파일 출력
  $tmp_width=" width='{$board[bo_image_width]}'  name=";
         for ($i=0; $i<=count($view[file]); $i++) {
           if ($view[file][$i][view]){
              if($view[file][$i][image_width] >= $board[bo_image_width])
                 $view[file][$i][view]=preg_replace("/name=/i",$tmp_width,$view[file][$i][view]);
                 echo $view[file][$i][view] . "<p>";
            }
        }
 ?>

맨 아래 스크립트 수정
<script language="JavaScript">
window.onload=function() {
//    resizeBoardImage(<?=(int)$board[bo_image_width]?>); 주석처리
    drawFont();

var target = document.getElementsByName('target_resize_image[]');
<? 
$k=0;
 for ($i=0; $i<=count($view[file]); $i++) {
 if ( ($view[file][$i][image_type] >0 && $view[file][$i][image_type]<4) || $view[file][$i][image_type]==6){ // gif jpg png bmp 인지 확인
 echo "target[$k].tmp_width  ={$view[file][$i][image_width]}; target[$k].tmp_height ={$view[file][$i][image_height]};\n";
  $k++;
     }
    }
?>
}
</script>
=======================
이미지를 여러개 등록 후 앞의 이미지 삭제 또는 이미지 첨부가 차례로 첨부되지않은 경우를
생각하여 $k 추가...

추천
3

댓글 12개

균이님 팁 감사합니다..
적용시켜보니.. 큰이미지리사이즈시 화면이상하게 되는건 방지가 되는데요.

뷰화면에서 이미지를 클릭시 새창으로 큰이미지를 못뿌려주네요 ㅠㅠ
새창은 뜨긴뜨는데 1pixel 1pixel 사이즈의 이미지가 뜹니다.
전 잘되는데 어디서 에러가 날까요?
새창에 이미지가 나오지 않는다는 것은
맨 아래 스크립트 수정<--이라고 되어있는 자바스크립트 부분에서
이미지 사이즈를 구하지않아서 일텐데...

에러나는 페이지를 볼 수 있으면 좋을텐데요
집에서 테스트 해보니깐 되는게 있고 안돼는게 있네요 ㅠㅠ
사무실에서 할땐 몇번을 수정해도 안돼길래.. 포기했는데

좋은팁 감사합니다.
작동됨 :
http://bleu.pe.kr/neue/bbs/board.php?bo_table=0308&wr_id=5&page=0

작동안됨 : 가로 세로가 undefined로 나오네요
http://bleu.pe.kr/neue/bbs/board.php?bo_table=0308&wr_id=6&page=0

<img src='http://bleu.pe.kr/neue/data/file/0308/1993904445_41de5e86_BmwM1Homage_01.png' width='undefined' height='undefined' border=0 class='dragme' onclick='window.close();' style='cursor:pointer' title=' 이미지 사이즈 : undefined x undefined  클릭하면 닫혀요. '>
참고로  ie6 이에요

다시해보니 이미지 두개를 올리면 안되네요 ㅠㅠ
안되는 링크 소스를 보니 자바스크립트 부분에서
    target[0].tmp_height =473target[1].tmp_width  =355;<--이렇게 나오네요
즉 소스에서 세미콜론(;)이 빠져서 그렇습니다
위의 자바스크립트 부분을 복사해서 붙여넣으세요
스크립 그대로복사해서 해봤는데도 마찬가지길래
소스 보니 위의 자바스크립트 소스에 빠져있었네요

target[$k].tmp_height ={$view[file][$i][image_height]};";

좋은팁 감사드립니다 ^^
도리님처럼 팝업창에 이미지가 보이지 않는다면...
원본 스킨으로 해도 팝업창에 이미지가 보이지 않을 것입니다
이유는 window.onload=function() 이 함수에 있습니다
이 함수 호출 외에 onload를 사용한 곳이 있을 때 이 함수가 호출되지않아서 입니다
소스보기를 해서 onload 를 찾아보세요 분명 또 다른 onload가 있을 것입니다

위 함수를 아예 변경해서 사용해야 됩니다
function img_init(){
.
.
}

if (window.addEventListener) window.addEventListener("load", img_init, false)
else if (window.attachEvent) window.attachEvent("onload", img_init)

이렇게 onload 방법을 바꾸어서 사용하세요
이것은 이 팁에만 적용되는 것이 아니라 홈페이지 구성 방법에따라
이렇게 사용하지 않으면 실행되지 않는 경우가 더러 있을 것입니다
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT