브레스 팝업 스크립트 에러 해결방법 정보
브레스 팝업 스크립트 에러 해결방법본문
사소(?)한 부분이지만 스크립트 에러를 방치할 수는 없으므로 잠시 들여다 봅니다.
스크립트 및 처리 과정을 나름대로 최적화 해봅니다.
팝업 스킨과 관련해서 팝업위치 개별설정(wr_x 이용) 팁 및 이 팁이 적용된 스킨은 차후 정리해서 올려 놓겠습니다.
팝업창 있을때 쿠키로 끈 경우가 아닌,
팝업창이 없을때 쿠키와 관련해서 msie에서만 '개체없음 오류' 올라옵니다.
없는걸 보여달라는 거니까,, 스크립트 오류가 아닌 정상적인 체크로 보여집니다.
msie가 밥값을 하는 겁니다.^^;;
검토할 부분을 나열합니다.
///////////////////////////////////////
먼저 비표준을 바로잡습니다.
<script language="javascript"></script> =====> <script type="text/javascript"></script> 으로
document.all =====> document.getElementById 으로 모두 수정해주어야 합니다.
///////////////////////////////////////
창을 하나만 띄우는 경우라면 latest.skin.php 상단 스크립트를 아래것으로 교체합니다.
여러개 띄우도록 수정한 분들은 위 표준대로 찾아서 수정합니다.
<script type="text/javascript">
function setCookie( name, value, expiredays ){
var todayDate = new Date();
todayDate.setDate( todayDate.getDate() + expiredays );
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}
function closeWin(){
if ( document.notice_form.chkbox.checked ){
setCookie( "maindiv", "done" , 1 );
}
document.getElementById("divpop").style.visibility = "hidden";
}
clicked = false;
function startDrag(cx,cy){
clicked = true;
pleft=parseInt(document.getElementById("divpop").style.left);
ptop=parseInt(document.getElementById("divpop").style.top);
dragxcoor=cx;
dragycoor=cy;
}
function stopDrag(){
clicked = false;
}
function dragBox(evt){
e = evt || event;
if (clicked == true){
newx = pleft+e.clientX-dragxcoor;
newy = ptop+e.clientY-dragycoor;
document.getElementById("divpop").style.left=newx;
document.getElementById("divpop").style.top=newy;
return false;
}
}
document.onmousemove = dragBox;
</script>
처리 과정에서 수정할 부분입니다.
///////////////////////////////////////
//처리 과정을 살펴보면 <div id="divpop"></div> 개체가 아래 두경우에만 존재하기 때문에 어러가 납니다.
if ($list[$i][wr_1] == "Text") {//@일반적인 텍스트 타잎 공지팝업 시작
?><div id="divpop" style=~~~></div><?
}//@일반적인 텍스트 타잎 공지팝업 끝
else {
if ($list[$i][wr_1] == "Img") {//@첨부파일1 이미지 팝업 시작
?><div id="divpop" style=~~~></div><?
}
}//@첨부파일1 이미지 팝업 끝
///////////////////////////////////////
//처리 과정을 다음과 같이 바꿔 주어 <div id="divpop"></div> 개체가 상존하도록 해야 에러가 나지 않습니다.
if ($list[$i][wr_1] == "Text") {//@일반적인 텍스트 타잎 공지팝업 시작
?><div id="divpop" style=~~~></div><?
}//@일반적인 텍스트 타잎 공지팝업 끝
else if ($list[$i][wr_1] == "Img") {//@첨부파일1 이미지 팝업 시작
?><div id="divpop" style=~~~></div><?
}//@첨부파일1 이미지 팝업 끝
else {//@그외 경우 - 스크립트 에러방지를 위해 추가
?><div id="divpop" style="display:none;"></div><?
}//그외 경우
?>
스크립트 및 처리 과정을 나름대로 최적화 해봅니다.
팝업 스킨과 관련해서 팝업위치 개별설정(wr_x 이용) 팁 및 이 팁이 적용된 스킨은 차후 정리해서 올려 놓겠습니다.
팝업창 있을때 쿠키로 끈 경우가 아닌,
팝업창이 없을때 쿠키와 관련해서 msie에서만 '개체없음 오류' 올라옵니다.
없는걸 보여달라는 거니까,, 스크립트 오류가 아닌 정상적인 체크로 보여집니다.
msie가 밥값을 하는 겁니다.^^;;
검토할 부분을 나열합니다.
///////////////////////////////////////
먼저 비표준을 바로잡습니다.
<script language="javascript"></script> =====> <script type="text/javascript"></script> 으로
document.all =====> document.getElementById 으로 모두 수정해주어야 합니다.
///////////////////////////////////////
창을 하나만 띄우는 경우라면 latest.skin.php 상단 스크립트를 아래것으로 교체합니다.
여러개 띄우도록 수정한 분들은 위 표준대로 찾아서 수정합니다.
<script type="text/javascript">
function setCookie( name, value, expiredays ){
var todayDate = new Date();
todayDate.setDate( todayDate.getDate() + expiredays );
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}
function closeWin(){
if ( document.notice_form.chkbox.checked ){
setCookie( "maindiv", "done" , 1 );
}
document.getElementById("divpop").style.visibility = "hidden";
}
clicked = false;
function startDrag(cx,cy){
clicked = true;
pleft=parseInt(document.getElementById("divpop").style.left);
ptop=parseInt(document.getElementById("divpop").style.top);
dragxcoor=cx;
dragycoor=cy;
}
function stopDrag(){
clicked = false;
}
function dragBox(evt){
e = evt || event;
if (clicked == true){
newx = pleft+e.clientX-dragxcoor;
newy = ptop+e.clientY-dragycoor;
document.getElementById("divpop").style.left=newx;
document.getElementById("divpop").style.top=newy;
return false;
}
}
document.onmousemove = dragBox;
</script>
처리 과정에서 수정할 부분입니다.
///////////////////////////////////////
//처리 과정을 살펴보면 <div id="divpop"></div> 개체가 아래 두경우에만 존재하기 때문에 어러가 납니다.
if ($list[$i][wr_1] == "Text") {//@일반적인 텍스트 타잎 공지팝업 시작
?><div id="divpop" style=~~~></div><?
}//@일반적인 텍스트 타잎 공지팝업 끝
else {
if ($list[$i][wr_1] == "Img") {//@첨부파일1 이미지 팝업 시작
?><div id="divpop" style=~~~></div><?
}
}//@첨부파일1 이미지 팝업 끝
///////////////////////////////////////
//처리 과정을 다음과 같이 바꿔 주어 <div id="divpop"></div> 개체가 상존하도록 해야 에러가 나지 않습니다.
if ($list[$i][wr_1] == "Text") {//@일반적인 텍스트 타잎 공지팝업 시작
?><div id="divpop" style=~~~></div><?
}//@일반적인 텍스트 타잎 공지팝업 끝
else if ($list[$i][wr_1] == "Img") {//@첨부파일1 이미지 팝업 시작
?><div id="divpop" style=~~~></div><?
}//@첨부파일1 이미지 팝업 끝
else {//@그외 경우 - 스크립트 에러방지를 위해 추가
?><div id="divpop" style="display:none;"></div><?
}//그외 경우
?>
추천
0
0
댓글 2개
좋은 스킨과 팁까지 올려주셔서 감사합니다.
팝업스킨받아 적용해보고 여기 팁까지 적용하니 에러안나는군요.
글머리에
"팝업 스킨과 관련해서 팝업위치 개별설정(wr_x 이용) 팁 및 이 팁이 적용된 스킨은 차후 정리해서 올려 놓겠습니다. "
이와 같은 내용이 있는데 무척기대됩니다.
현재는 한개만 팝업으로 띄울수 있는줄 아는데 여러개 띄울수 있고, 파업위치를 메뉴그룹에 따라 또 각게시판별로 띄울 수 있다면 참으로 유요한 스킨이 될것같읍니다.
수정되시면 꼬~옥 좀 올려주세요.
올려주신 스킨은 감사하게 사용하겠읍니다.
밝아오는 새해에도 복 많이 받으시기 바랍니다. ^&^
팝업스킨받아 적용해보고 여기 팁까지 적용하니 에러안나는군요.
글머리에
"팝업 스킨과 관련해서 팝업위치 개별설정(wr_x 이용) 팁 및 이 팁이 적용된 스킨은 차후 정리해서 올려 놓겠습니다. "
이와 같은 내용이 있는데 무척기대됩니다.
현재는 한개만 팝업으로 띄울수 있는줄 아는데 여러개 띄울수 있고, 파업위치를 메뉴그룹에 따라 또 각게시판별로 띄울 수 있다면 참으로 유요한 스킨이 될것같읍니다.
수정되시면 꼬~옥 좀 올려주세요.
올려주신 스킨은 감사하게 사용하겠읍니다.
밝아오는 새해에도 복 많이 받으시기 바랍니다. ^&^
아~ 그리고 한가지 아쉬운 점이 있어 다음번에 수정버전올리실때 참고하라고 몇자 적읍니다.
1)텍스트공지의 바탕화면수정
우선 텍스트로만 공지팝업을 띄울 경우 바탕에 다른 이미지가 있는 곳에 팝업창이 뜰때는 공지내용글을 읽기가 어렵읍니다.
이런 경우에도 공지창의 바탕을 기존 팝업이 뜨는 페이지가 안보이도록 하면 어떨까합니다.
2)리스트목록 중복수정
그리고 스킨을 적용한 게시판에서 글을 쓰고 이것을 공지로 체크하면 게시판 리스트페이지에서 페이지 상단에 공지에와 하단리스트에도 동일한 내용의 제목이 나타납니다.
이것도 수정했으면 합니다.
3)팝업기간설정이 있다면 더욱 좋겠읍니다.
현재는 설정을 하고 다시 중지를 하는 것을 수동으로 해야 함으로 번거로운 점이 있는 것같읍니다.
그럼........
1)텍스트공지의 바탕화면수정
우선 텍스트로만 공지팝업을 띄울 경우 바탕에 다른 이미지가 있는 곳에 팝업창이 뜰때는 공지내용글을 읽기가 어렵읍니다.
이런 경우에도 공지창의 바탕을 기존 팝업이 뜨는 페이지가 안보이도록 하면 어떨까합니다.
2)리스트목록 중복수정
그리고 스킨을 적용한 게시판에서 글을 쓰고 이것을 공지로 체크하면 게시판 리스트페이지에서 페이지 상단에 공지에와 하단리스트에도 동일한 내용의 제목이 나타납니다.
이것도 수정했으면 합니다.
3)팝업기간설정이 있다면 더욱 좋겠읍니다.
현재는 설정을 하고 다시 중지를 하는 것을 수동으로 해야 함으로 번거로운 점이 있는 것같읍니다.
그럼........