'SO'에 해당되는 글 1건

  1. 2008.01.14 SharedObject in Macromedia Flash (4)
SharedObject outline 입니다.  기술 관련 문서는 docx 파일을 참고하시면 됩니다.

FireFox 의 globalStorage 과 유사하게 구현했으며 차후 유연한 연동 및 extansion 을 위해서 비슷하게 구현합니다. [docx 파일 내용은 그림 아래 추가했습니다. 그리고 javascript 라이브러리는 추후 공개합니다. ]

Shared-Object 를 잘 활용하면 정말 파워풀(?)한 웹 기반 Application을 만들 수 있겠습니다.
Dojo Toolkit 에서도 localStorage 를 위해 Shared Object를 활용하고 있습니다. (Dojo.Storage)

사용자 삽입 이미지












Shared Object 란 무엇인가?

Shared Object Macromedia flash MX 의 새롭고 강력한 기능입니다. 

Shared Object 를 사용하는 방법은 많이 있고 이 문서는 여러분들에게 기초적인 개념들을 얻게 해줄 것입니다.

Shared Object의 다양한 사용 법은 유저의 점수, 좋아하는 색깔 혹은 마지막 방문했던 곳을 기억하는 것을 포함합니다. 아래의 예제는 사용자에 의해 입력된 이름이 저장되고 여러 번 방문했었던 사이트는 Shared Object의 기능을 사용하게 됩니다.

 

Shared Object 는 클라이언트에 저장된 데이터를 사용합니다. 이것은 데이터가 웹 브라우저를 통하여 생성되어진 쿠키와 유사한 방식으로 저장되어집니다.

 

생성된 그 데이터는 Shared Object에 의해 생성된 같은 도메인에서만 오직 읽을 수 있습니다.

 

이것은 한가지 방법입니다. Macromedia Flash Player 는 유저의 컴퓨터에 데이터를 쓸 수 있습니다.  그들이 정보를 제공하지 않는다면 Shared Object 는 사용자의 이메일 주소 혹은 다른 개인적인 정보를 기억할 수 없습니다.

보안을 위해서 http://download.macromedia.com/pub/flash/whitepapers/security.pdf 이 자료를 더 참조해야 합니다.

 

1.     Using Shared Objects
A. Shared Object
getLocal 메서드를 이용하여 Shared Object를 생성해라.  무비의 myLocalSO 변수를 설정하고 아래의 ActionScript “flashcookie”의 이름을 갖는 Shared Object를 할당한다.

//create the local Shared Object

myLocal_so = sharedobject.getLocal("flashcookie");

만약 “flashcookie” 라는 이름을 갖는 Shared Object가 미리 존재하지 않는다면 Macromedia Flash Player 는 그 이름을 갖는 Shared Object 를 생성할 것입니다.
B. localPath
라 불리는 선택적인 파라미터는 Shared Object 생성을 위해서 또한 설정할 수 있습니다.  localPath 파라미터는 Shared Object 가 사용자 컴퓨터에 저장될 장소를 지정할 수 있습니다.  이 경로는 SWF의 위치와 매치되거나 URL을 함께 포함되어 집니다.
 
그러므로 Movie http://www.mysite.com/movie/movies.swf 라는 localPath 파라미터를 설정했다면 사용자 컴퓨터에 http://www.mysite.com/movie/movies.swf, /, /movies 혹은 /movies/movies.swf 경로에 Shared Object 를 생성한다.

코드는 아래와 같이
myLocal_so = sharedobject.getLocal("flashcookie","/movies/mymovie.swf");

하나의 사이트에서 한 개 혹은 그 이상의 Shared Object를 사용할 때 유용합니다.
예를 들어 localPath 를 루트 레벨로 하여 생성된 Shared Object는 사이트 내의 모든 movie 에서 접근이 가능하게 됩니다. (localPath “/”로 설정한 경우) 그리고 다른 정보들은 각각의 movie 에서 저장한 Shared Object 에서만 접근만 허용합니다. localPath movie 에 지정하게 됩니다. (localPath /movies/mymovie.swf 로 설정한 경우)

2.  Shared Object의 값 설정
정보들은 Shared Object의 데이터 프로퍼티에 할당된 속성에 의해서 저장 되어집니다. 아래의 Movie의 텍스트 입력창에 입력된 사용자 이름은 Shared Object의 데이터 프로퍼티에 할당한 속성과 동일합니다. 아래와 같이 하면 됩니다.

/set the variable “name” equal to the text property
//of the textfield “username”
myLocal_so.data.name = username.text;

//increase the variable counter by one for each visit
myLocal_so.data.counter++;

데이터는 Movie Macromedia Flash Player에서 제거되어질 때 Shared Object에 써집니다. 데이터를 쓰기 위해서 바로 flush 메서드를 아래처럼 사용하면 됩니다.

myLocal_so.flush();

3.     Shared Object 의 값 반환
사용자가 페이지로 되돌아 왔을 때 Shared Object는 읽고 그 값을 표시한다.

userName.text = myLocal_so.data.name;
numVisits.text = “You have been here “ + myLocal_so.data.counter +”times.”


왜냐하면 myLocal_so = Shared Object.getLocal(“flashcookie”); 와 같이 Shared Object “flashcookie”는 이미 사용자 컴퓨터에 생성되어져 있기 때문에 사용자 이름과 방문횟수를 Shared Object에서 데이터를 얻을 수 있는 것입니다.


사용자 삽입 이미지

a.site.com 에서 생성된 데이터(Shared Object)를
b.site.com 에서 사용할 수 있는 방법이나 트릭을 아시는 분든 좀 알려주세요.


관련 정보
wikipedia : http://en.wikipedia.org/wiki/Local_Shared_Object




신고
Posted by Rhio.kim