LSO/Flash Cookie
4920 단어 cookie
다른 점은 더 많은 것 같다.
LSO는 특수한 내장 속성 데이터를 통해 다음과 같은 모든 데이터를 저장합니다.data.name = ‘xxxx’;
Flash Player를 제거할 때 SharedObject 인스턴스가 스팸으로 취급될 때 SharedObject를 호출합니다.clear () 방법에서는 LSO 데이터가 자동으로 로컬 디스크에 저장됩니다.그러나 이런 방법들은 신뢰할 만한 것이 아니라 추천하는 방법은Shared Object를 사용하는 것이다.flush () 방법으로 LSO 데이터를 저장합니다.flush () 방법에는 데이터를 쓸 때 사용할 최소 디스크 공간을 지정하는 선택할 수 있는 파라미터가 있습니다. 기본값은 0입니다. 필요한 최소 공간만 사용합니다.
flush() 메서드를 호출하여 다음 세 가지 결과를 반환합니다.
LSO 객체의 데이터를 삭제하려면 delete 연산자를 사용해야 합니다. 예를 들어 delete user.data.name;전체 LSO 대상을 삭제하려면clear () 방법을 호출하면 됩니다:user.clear();
다음 코드는 세 가지 함수인 setCookie, getCookie, delCookie를 정의하여 LSO 데이터를 생성/수정, 검색, 삭제합니다.
//LSO/FlashCookie [email protected] import flash.events.NetStatusEvent; function
setCookie(lsoname:String,cname:String,cvalue:*,path:String=null
):Boolean{ var
lso:SharedObject = (path!=null&&path.length
) ? SharedObject.getLocal(lsoname,path
) : SharedObject.getLocal(lsoname
); lso.data[cname] = cvalue; try
{ var
flushResult:String = lso.flush(); if
(flushResult == SharedObjectFlushStatus.FLUSHED
) return
true;//
else
if
(flushResult == SharedObjectFlushStatus.PENDING
) lso.addEventListener(NetStatusEvent.NET_STATUS,onStatus
);//
}catch
(e:Error
){ Security.showSettings(SecurityPanel.LOCAL_STORAGE
);// , Player “settings”
} function
onStatus(evt:NetStatusEvent
):Boolean{ lso.removeEventListener(NetStatusEvent.NET_STATUS,onStatus
); if
(evt.info.code == 'SharedObject.Flush.Success'
) return
setCookie(lsoname,cname,cvalue
);//
return
false; } return
false; } function
getCookie(lsoname:String,cname:String,path:String=null
):*{ var
lso:SharedObject = (path!=null&&path.length
) ? SharedObject.getLocal(lsoname,path
) : SharedObject.getLocal(lsoname
); return
lso.data[cname]; } function
delCookie(lsoname:String,cname:String=null,path:String=null
):Boolean{ var
lso:SharedObject = (path!=null&&path.length
) ? SharedObject.getLocal(lsoname,path
) : SharedObject.getLocal(lsoname
); if
(lso
){ if
(cname && cname != null
){ delete lso.data[cname]; lso.flush(); }else
lso.clear(); return
true; } return
false; }
물론 자바스크립트를 사용하여 일정한 봉인을 하고 크로스 브라우저 조작을 편리하게 할 수 있다. (플래시 불러오기 완료addCallback 등록 함수에 대해 오랫동안 고민을 했지만 만족스러운 방법을 찾지 못했다. 지금 이 방법은 사용할 것이다): demo
———————————————
update 2011/7/27
위에서 언급한 간접적으로expires를 실현하다
글을 오랫동안 썼지만 잊어버렸습니다. 쿠키를 쓸 때마다expires를 데이터 필드로 저장할 수 있을 것 같습니다. 즉user입니다.data.expires = ****, 쿠키를 읽을 때마다 이 expires를 읽어서 현재 시간과 비교하면 됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
서버에서 쿠키 만료 값 가져오기브라우저는 쿠키 만료를 처리하므로 쿠키의 만료 값을 서버에 전달하지 않습니다. 서버에서 쿠키의 만료 값을 얻으려면 일부 조정을 해야 합니다. 두 가지 방법이 있습니다. JSON 값으로 쿠키를 생성할 수 있습니다 다른...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.