쿠키소스.. 재부팅하여도 이미지 유지 되는 방법 아시는분...ㅠㅠ > 자유게시판

자유게시판

쿠키소스.. 재부팅하여도 이미지 유지 되는 방법 아시는분...ㅠㅠ 정보

쿠키소스.. 재부팅하여도 이미지 유지 되는 방법 아시는분...ㅠㅠ

본문

안녕하세요..
다름이아니라..  밑에소스 궁금한게 있어서 글 올립니다..

저 밑에소스를 해보면
버튼 클릭시 F5 새로고침(refresh) 하여도 마지막에 클릭했던 이미지로 출력 유지되어..
보이긴 하는데..

재부팅을 하면.. 다시 클릭했던 이미지가 사라지고 원점으로 돌아옵니다..ㅠㅠ

재부팅하여도 또 다른컴퓨터에서 봐도..
마지막에 클릭했던 이미지로 계속 유지되어 보이는 방법이 없을까요????


한마디로 클릭을 하지 않는이상  절대 바뀌지 않는 겁니다..
어찌 방법이 없을지요..ㅠㅠ?



어떤 사람이 세션을 이용하면 된다고 하는 사람도 있던데...
초보라.. 뭐가먼지 도통 모르겠어요..ㅠㅠ


방법 부탁드립니다..

-------------------------------------------------------------------------------------
(아래 소스)
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title>sjisbmoc</title>
<script>
<!--


var fm;


function fncClick( obj )
{
    var fm  = document.frm;
    var img = fm.menu;
    obj.stus= 'on';


    SetCookie('MenuPos',obj.pos);


    for( var i=0; i<img.length; i++ )
    {
        if( img[i] == obj )
        {
            if( img[i].src.indexOf('_on') == -1 )
            {
                img[i].src = img[i].src.replace('.gif','_on.gif');
            }
        }
        else
        {
            img[i].src = img[i].src.replace('_on','');
            img[i].stus= 'off';
        }
    }
}


function fncOver(obj)
{
    if( obj.src.indexOf('_on') == -1 )
    {
        if( obj.stus == 'off' )
        {
            obj.src = obj.src.replace('.gif','_on.gif');
        }
    }
}


function fncOut(obj)
{
    if( obj.stus == 'off' )
    {
        obj.src = obj.src.replace('_on','');
    }
}


function getCookieVal (offset)
{
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1) endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}


function GetCookie (name)
{
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) //while open
    {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
            return getCookieVal (j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    } //while close
    return null;
}


function SetCookie (name, value)
{
    var argv = SetCookie.arguments;
    var argc = SetCookie.arguments.length;
    var expires = (2 < argc) ? argv[2] : null;
    var path = (3 < argc) ? argv[3] : null;
    var domain = (4 < argc) ? argv[4] : null;
    var secure = (5 < argc) ? argv[5] : false;
    document.cookie = name + "=" + escape (value) +
        ((expires == null) ? "" :
        ("; expires=" + expires.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");
}




window.onload = function()
{
    fm  = document.frm;


    var pos = GetCookie('MenuPos');
    if( pos==null )
    {
        pos = '01';
        SetCookie('MenuPos',pos);
    }


    for( var i=0; i<fm.menu.length; i++ )
    {
        if( fm.menu[i].pos == pos )
        {
            fm.menu[i].src  = fm.menu[i].src.replace('.gif','_on.gif');
        }
    }
}


//-->
</script>
    </head>
    <body>
<form name='frm'>


<table cellpadding='0' cellspacing='0' border='0'>
    <tr>
        <td><img id='menu' name='menu' pos='01' src='http://static.naver.com/kin/img/k1/main/gnb_menu01.gif' stus='on' style='cursor:hand;' onclick='javascript_:fncClick(this);' onmouseover='javascript_:fncOver(this);'  onmouseout='javascript_:fncOut(this);'></td>
        <td><img id='menu' name='menu' pos='02' src='http://static.naver.com/kin/img/k1/main/gnb_menu02.gif' stus='off' style='cursor:hand;' onclick='javascript_:fncClick(this);' onmouseover='javascript_:fncOver(this);' onmouseout='javascript_:fncOut(this);'></td>
        <td><img id='menu' name='menu' pos='03' src='http://static.naver.com/kin/img/k1/main/gnb_menu03.gif' stus='off' style='cursor:hand;' onclick='javascript_:fncClick(this);' onmouseover='javascript_:fncOver(this);' onmouseout='javascript_:fncOut(this);'></td>
        <td><img id='menu' name='menu' pos='04' src='http://static.naver.com/kin/img/k1/main/gnb_menu04.gif' stus='off' style='cursor:hand;' onclick='javascript_:fncClick(this);' onmouseover='javascript_:fncOver(this);' onmouseout='javascript_:fncOut(this);'></td>
        <td><img id='menu' name='menu' pos='05' src='http://static.naver.com/kin/img/k1/main/gnb_menu05.gif' stus='off' style='cursor:hand;' onclick='javascript_:fncClick(this);' onmouseover='javascript_:fncOver(this);' onmouseout='javascript_:fncOut(this);'></td>
    </tr>
</table>

</form>
    </body>
</html>

-------------------------------------------------
(위 소스 구현시 나오는 그림입니다.  홈페이지 참고하세요..)

http://yjdream.co.kr/moon.html
추천
0

댓글 3개

맞습니다.

세션을 이용하시면 됩니다.

위 소스는 쿠키를 사용하고 있습니다.

쿠키는 컴마다 다름니다.

근데 메뉴만드는데 쿠키나 세션이 필요한지.....

다른 방법으로 하심이....

세션으로하믄 되는데 접속자 수가 많아지면 셔선파일 압박이 장난이 아닐건데요...

배보다 배꼽이 더 커진다는...

그외 기타 문제도 방생될 수 있습니다.

고맙습니다.
브라우져가 쿠키를 제어하기땜시 지금은 불가능하다고 할수 있겠네요
메뉴를 세션처리하는 김장군님 말씀대로 삽질입니다.
또 마지막 이미지가 선택되 있는건 웹표준에도 적합하지않네요
무슨말인지 이해가 안가네요?
마지막 상태를 서버에다가 저장하면 되는거 아닌가요?(db로 하든 파일로 하든, 아니면, php 공유메모리에 하든)
전체 199,680 |RSS
자유게시판 내용 검색

회원로그인

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