레이어를 달았는데요..목록보기에서는 되고 글읽기에서는 안되네요.. > 그누4 질문답변

그누4 질문답변

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

레이어를 달았는데요..목록보기에서는 되고 글읽기에서는 안되네요.. 정보

레이어를 달았는데요..목록보기에서는 되고 글읽기에서는 안되네요..

본문

 
오른쪽에 스크롤 배너가 목록보기에서는 잘 작동되는데
글 읽기를 하면 절대로 작동하지 않네요.
둘다 안되던지...스크립트 오류가 뜨던지 하면 좀 쉽겠는데....
하루종일 원인을 찾아봐도 얄팍한 지식으로는 영~!!
제발 좀 도와주세요.

댓글 전체

<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function flevDivPositionValue(sDiv, sProperty) { // v2.1, Marja Ribbers-de Vroed, FlevOOware
this.opera = (window.opera); // Opera 5+
this.ns4 = (document.layers); // Netscape 4.x
this.ns6 = (document.getElementById && !document.all && !this.opera); // Netscape 6+
this.ie = (document.all);  // Internet Explorer 4+
    var sValue = ""; docObj = eval("MM_findObj('" + sDiv + "')"); if (docObj == null) {return 0;}
if ((sProperty == "left") || (sProperty == "top")) {
if (!this.ns4) {docObj = docObj.style;}
sValue = eval("docObj." + sProperty);
if ((this.ie) && (sValue == "")) { // IE (on PC) bug with nested layers
if (sProperty == "top") { sValue = eval(sDiv + ".offsetTop"); }
else { sValue = eval(sDiv + ".offsetLeft"); }
};
}
else {
if (this.opera) {
docObj = docObj.style;
if (sProperty == "height") { sValue = docObj.pixelHeight; }
else if (sProperty == "width") { sValue = docObj.pixelWidth; }
}
else if (this.ns4) {sValue = eval("docObj.clip." + sProperty);}
else if (this.ns6) {sValue = document.defaultView.getComputedStyle(docObj, "").getPropertyValue(sProperty); }
    else if (this.ie) {
if (sProperty == "width") { sValue = eval(sDiv + ".offsetWidth"); }
else if (sProperty == "height") { sValue = eval(sDiv + ".offsetHeight"); }
}
  }
sValue = (sValue == "") ? 0 : sValue;
if (isNaN(sValue)) { if (sValue.indexOf('px') > 0) { sValue = sValue.substring(0,sValue.indexOf('px')); } }
return parseInt(sValue);
}

function flevPersistentLayer() { // v3.3, Marja Ribbers-de Vroed, FlevOOware
var sD = arguments[0], oD = eval("MM_findObj('" + sD + "')"), iWW, iWH, iSX, iSY, iT = 10, sS = "";
if (!document.layers) {oD = oD.style;}
if (oD.tmpTimeout != null) {clearTimeout(oD.tmpTimeout);}
var sXL = arguments[1], sXC = arguments[2], sXR = arguments[3], sYT = arguments[4], sYC = arguments[5], sYB = arguments[6];
var iS = (arguments.length > 7) ? parseInt(arguments[7]) : 0, iPx = (arguments.length > 8) ? parseInt(arguments[8]) : 0;
if (window.innerWidth) { // NS4, NS6 and Opera
var oW = window; iWW = oW.innerWidth; iWH = oW.innerHeight; iSX = oW.pageXOffset; iSY = oW.pageYOffset; }
else if (document.documentElement && document.documentElement.clientWidth) { // IE6 in standards compliant mode
var oDE = document.documentElement; iWW = oDE.clientWidth; iWH = oDE.clientHeight; iSX = oDE.scrollLeft; iSY = oDE.scrollTop; }
else if (document.body) { // IE4+
var oDB = document.body; iWW = oDB.clientWidth; iWH = oDB.clientHeight; iSX = oDB.scrollLeft; iSY = oDB.scrollTop; }
else {return;}
var iCX = iNX = flevDivPositionValue(sD, 'left'), iCY = iNY = flevDivPositionValue(sD, 'top');
if (sXL != "") {iNX = iSX + parseInt(sXL);}
else if (sXC != "") {iNX = Math.round(iSX + (iWW/2) - (flevDivPositionValue(sD, 'width')/2));}
else if (sXR != "") {iNX = iSX + iWW - (flevDivPositionValue(sD, 'width') + parseInt(sXR));}
if (sYT != "") {iNY = iSY + parseInt(sYT);}
else if (sYC != "") {iNY = Math.round(iSY + (iWH/2) - (flevDivPositionValue(sD, 'height')/2));}
else if (sYB != "") {iNY = iSY + (iWH - flevDivPositionValue(sD, 'height') - parseInt(sYB));}
if ((iCX != iNX) || (iCY != iNY)) {
if (iS > 0) {
if (iPx > 0) { iT = iS;
var iPxX = iPx, iPxY = iPx, iMX = Math.abs(iCX - iNX), iMY = Math.abs(iCY - iNY);
// take care of diagonal movement
if (iMX < iMY) {iPxY = (iMX != 0) ? ((iMY/iMX)*iPx) : iPx;}
else {iPxX = (iMY != 0) ? ((iMX/iMY)*iPx) : iPx;}
if (iPxX >= iMX) {iPxX = Math.min(Math.ceil(iPxX), iPx);}
if (iPxY >= iMY) {iPxY = Math.min(Math.ceil(iPxY), iPx);}
// temporary X/Y coordinates
if ((iCX < iNX) && (iCX + iPxX < iNX)) {iNX = iCX + iPxX;}
if ((iCX > iNX) && (iCX - iPxX > iNX)) {iNX = iCX - iPxX;}
if ((iCY < iNY) && (iCY + iPxY < iNY)) {iNY = iCY + iPxY;}
if ((iCY > iNY) && (iCY - iPxY > iNY)) {iNY = iCY - iPxY;} }
else {
var iMX = ((iNX - iCX) / iS), iMY = ((iNY - iCY) / iS);
iMX = (iMX > 0) ? Math.ceil(iMX) : Math.floor(iMX); iNX = iCX + iMX;
iMY = (iMY > 0) ? Math.ceil(iMY) : Math.floor(iMY); iNY = iCY + iMY; } }
if ((parseInt(navigator.appVersion)>4 || navigator.userAgent.indexOf("MSIE")>-1) && (!window.opera)) {sS="px";}
if (iMX != 0) {eval("oD.left = '" + iNX + sS + "'");}
if (iMY != 0) {eval("oD.top = '" + iNY + sS + "'");} }
var sF = "flevPersistentLayer('" + sD + "','" + sXL + "','" + sXC + "','" + sXR + "','" + sYT + "','" + sYC + "','" + sYB + "'," + iS + "," + iPx + ")";
oD.tmpTimeout = setTimeout(sF,10);
}

function flevInitPersistentLayer() { // v3.3, Marja Ribbers-de Vroed, FlevOOware
if (arguments.length < 8) {return;}
var sD = arguments[0]; if (sD == "") {return;}
var oD = eval("MM_findObj('" + sD + "')"); if (!oD) {return;}
var iCSS = parseInt(arguments[1]);
var sXL = arguments[2], sXC = arguments[3], sXR = arguments[4], sYT = arguments[5], sYC = arguments[6], sYB = arguments[7];
var iS = (arguments.length > 8) ? parseInt(arguments[8]) : 0, iPx = (arguments.length > 9) ? parseInt(arguments[9]) : 0;
if (iCSS != 0) { if (!document.layers) {oD = oD.style;} sXL = parseInt(oD.left), sYT = parseInt(oD.top);}
var sF = "flevPersistentLayer('" + sD + "','" + sXL + "','" + sXC + "','" + sXR + "','" + sYT + "','" + sYC + "','" + sYB + "'," + iS + "," + iPx + ")";
eval(sF);
}
//-->
</script>



저 역시 정답이라는 판단은 하지 못합니다만..

상단 파일이 속해 잇는 부분이 어디인지.?  만약 head.sub.php 라면  게시판 헤드 파일에서 인클루드 하는지
한번 살펴 보심이..

웹상으로는 내용보기에서만 안 움직이지만. 에디터로 보면 인덱스 부분을 제외한
게시판 리스트나 목록 글스기폼에서 공히 움직이지 않는것으로 보아.

상단 파일의 인클루드 부분이 누락 된듯 생각합니다.

한번 해보시고 아니면 용서 하소서.^^
소스를보면
<script language="javascript" src="../js/common.js"></script>
<script language=javascript src="../../js/FlashObject_Call.js"></script>
<script language=javascript src="../../js/layer.js"></script>

이렇군요..? 

경로 지정이 위에보면 틀린데요..?  실제로 경로 <common.js  FlashObject_Call.js >  틀린가요?
이왕 한거 그것도 아니라면 해당 소스를 바꾸는 방법으로 알려드립니다.

 대략 777 이라는 이름의 php를 아래 내용으로 만드시고 경로를  ==> g4[path]/777.php 하엿다면
<?
$scroll_div[top] = 100;
//$scroll_div[left] = 950;
//$scroll_div[table_width] =20;
//$scroll_div[table_height] = 50;
?>

<div id='divMenu' style="position:relative; top:0;">
<table cellpadding=0 cellspacing=0 border="0" bgcolor="#FFFFFF">

<tr>
    <td valign=top>
        <!-- 넣을 내용시작 -->
 
  않되면 되게 하자..^^
      <!--  넣을 내용 끝 -->
    </td>
</tr>
</table>
</div>

<script language=javascript>
function CheckUIElements()
{
    var yMenuFrom, yMenuTo, yButtonFrom, yButtonTo, yOffset, timeoutNextCheck;

    yMenuFrom  = parseInt (document.getElementById('divMenu').style.top, 10);
    if ( g4_is_gecko )
        yMenuTo = top.pageYOffset + <?=$scroll_div[top]?>;
    else if ( g4_is_ie )
        yMenuTo = document.body.scrollTop + parseInt('<?=$scroll_div[top]?>');

    timeoutNextCheck = 500;

    if ( Math.abs (yButtonFrom - (yMenuTo + 152)) < 6 && yButtonTo < yButtonFrom )
    {
        setTimeout ("CheckUIElements()", timeoutNextCheck);
        return;
    }

    if ( yMenuFrom != yMenuTo )
    {
        yOffset = Math.ceil( Math.abs( yMenuTo - yMenuFrom ) / 10 );
        if ( yMenuTo < yMenuFrom )
            yOffset = -yOffset;

        document.getElementById('divMenu').style.top = parseInt(document.getElementById('divMenu').style.top) + yOffset;

        timeoutNextCheck = 10;
    }

    setTimeout ("CheckUIElements()", timeoutNextCheck);
}

function OnLoad() {
    var y;

    if ( top.frames.length )
        document.getElementById('divMenu').style.display = '';

    CheckUIElements();
    return true;
}

OnLoad();


//-->
</script>


그런 다음 그누보드 다운 받은 원본파일이라는 가정하에  tail.php 내용중

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 사용자 화면 우측과 하단을 담당하는 페이지입니다.
// 우측, 하단 화면을 꾸미려면 이 파일을 수정합니다.
?>

</td>
<td width=40></td>
</tr></table>

<p><!-- 카피라이트 시작 -->
<div style='float:left;'>
<table width="1071" border="1" cellspacing="0" bordercolordark="white" bordercolorlight="black">
<tr>
    <td valign="top" background="<?=$g4['path']?>/img/copyright.gif" width="1031" height="109"><a href='#g4_head'><img src="<?=$g4['path']?>/img/icon.gif" width="15" height="12" border="0"></a><font color="#848484">Copyright ⓒ your-domain. All rights reserved.</font></td>
</tr>
</table>
</div>
<!-- 카피라이트 끝 -->

이부분 라로 아래에..


<td valign=top>  <?include "$g4[path]/777혹은 다른이름.php";?>    </td>

이렇게 하시어도 됩니다.

해당 소스는 영카트3에서 제공 되엇던 소스입니다.
view.skin.php <== 요넘의 파일 맨 끝부분에 아래와 같은 자바스크립트가
문제를 일으키는 듯..(헉..문제는 내가 만들어놓고 문제라니??)
boyd 에 onLoad 가 문제인듯 한데..해결방법이 없을까요?
답변 고맙습니다.

<script language="JavaScript">
// HTML 로 넘어온 <img ... > 태그의 폭이 테이블폭보다 크다면 테이블폭을 적용한다.
function resize_image()
{
    var target = document.getElementsByName('target_resize_image[]');
    var image_width = parseInt('<?=$board[bo_image_width]?>');
    var image_height = 0;

    for(i=0; i<target.length; i++) {
        // 원래 사이즈를 저장해 놓는다
        target[i].tmp_width  = target[i].width;
        target[i].tmp_height = target[i].height;
        // 이미지 폭이 테이블 폭보다 크다면 테이블폭에 맞춘다
        if(target[i].width > image_width) {
            image_height = parseFloat(target[i].width / target[i].height)
            target[i].width = image_width;
            target[i].height = parseInt(image_width / image_height);
        }
    }
}

window.onload = resize_image;

function file_download(link, file)
{
<? if ($board[bo_download_point] < 0) { ?>if (confirm("'"+file+"' 파일을 다운로드 하시면 포인트가 차감(<?=number_format($board[bo_download_point])?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?"))<?}?>
document.location.href = link;
}
</script>
<!-- 게시글 보기 끝 -->
rolo님 고맙습니다,
잘 되는데요.
// window.onload = resize_image;
var f1= window.onload;

window.onload=f2;

function f2(){ f1(); resize_image(); }

이렇게 하고 사이즈가 큰 그림을 업로드해봤는데요
리사이즈도 되고 레이어도 스크롤 되고 문제가 없는듯 합니다.
글읽기에서 이미지가 리사이즈되면 문제가 없는거 맞죠?
고맙습니다.
전체 20 |RSS
그누4 질문답변 내용 검색

회원로그인

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