ローカル Shared Object とは
イントロダクション
Shared Object は Flash Communication Server を通じて接続されている複数のムービーやオブジェクト間で、リアルタイムにデータを共有できる非常に便利なオブジェクトです。その中でもローカルで使用されるローカル共有オブジェクトは、SharedObject オブジェクトの活用として最も単純なもので、Flash Communication Server は必須ではありません。その機能についてここでは紹介させていただきます。Shared Object は様々な用途がありますが、この文書では基本的なコンセプトを 通して Shared Object を紹介します。Shared Object の用途にはユーザーのスコア (点数) や好きな色、また最後に表示したページなどを記録する、といったことも含まれます。以下で紹介する例では Shared Object の機能を使って、ユーザーが入力した名前とページを表示した回数を記録するものです。
Shared Object は、web ブラウザで作成されたクッキーにデータが蓄積されるのと同様、クライアントマシン上にデータを保存するために使用するものです。データは Shared Object を作成したドメインと同じドメインを拠点としたムービーによってのみ読み込まれるもので、Macromedia Flash Playerがユーザーのマシンにデータの書き込みをする唯一の方法です。Shared Object を使用しても、ユーザーが供給しない限り、ユーザーの電子メールアドレスや個人情報を記録しておくことは出来ません。セキュリティに関する情報は以下の Security white paper * (PDF 716K) を参照してください。
Shared Object のデモを参照するには以下の作業を行ってください。
- Step 2 に進む前に、Macromedia Flash Player 6 が必ずインストールされていることを確認します。
メモ: Flash Player のバージョン確認はこちらのテストページをご参照ください。
- 以下の Flash ムービーのテキストフィールドにテキストを入力します。
- ブラウザの更新または再読み込みボタンをクリックし、表示回数が更新されるか確認します。
- ムービー内のリセットボタンをクリックすると Shared Object に保存された値がリセットされます。
Windows ソースファイルのダウンロード local_so.zip (22K)
Macintosh ソースファイルのダウンロード local_so.sit (24K)
Shared Object を使用方法
- Shared Object の作成
- Shared Object の getLocal メソッドを使用して Shared Object を作成します。 サンプルのムービーでは変数 (myLocalSO) を作成し、以下の ActionScript で「flashcookie」という名前の Shared Object が割り当てられています。
//ローカル Shared Object を作成する
myLocalSO = sharedobject.getLocal("flashcookie");
「flashcookie」という Shared Object がない場合は、Macromedia Flash Player によってその名前の Shared Object が作成されます。
メモ: Shared Object の名前は、文書番号 228649 Flash での命名術に沿っている必要があります。また、Shared Object の名前には半角英字を使用します。
- http://www.mydomain.com/movies/mymovie.swfhttp://www.mydomain.com/movies/mymovie.swf、/、/movies、
- Shared Object の値を設定する
Shared Object のデータプロパティに属性を割り当てることによって、Shared Object 内に情報が保存されます。上記のムービーではテキストフィールドに入力されたユーザー名は、ローカル Shared Object のデータプロパティにネーム属性を割り当て、以下のようにテキストフィールドのコンテンツとして設定することによって Shared Object に保存されています。
//変数「name」がテキストフィールド「userName」のテキストプロパティ
myLocalSO.data.name = userName.text;
//再表示するたびにカウンターの値を1ずつ増加する
myLocalSO.data.counter++;
データは Macromedia Flash Player からムービーが外される時に Shared Object に書き込まれます。データを即時に書き込むには以下のようにflushメソッドを使用します。
myLocalSO.flush();
- Shared Object の値を返す
ユーザーがページを再表示すると、Shared Object が読み込まれ、その値が表示され ます。
userName.text = myLocalSO.data.name;
numVisits.text = "You have been here " + myLocalSO.data.counter + "times."
クライアントマシンには Shared Object「flashcookie」がすでに作成されているので、myLocalSO = sharedobject.getLocal("flashcookie"); によってShared Object からデータが取得され、ユーザー名とページを表示した回数が表示されます。
追加情報
この文書は、米国 Adobe Systems, Inc. の What is a local Shared Object? (TechNote 16194) をもとに作成されました。
関連ドキュメント (Related Records)
This content requires Flash
To view this content, JavaScript must be enabled, and you need the latest version of Adobe® Flash® Player.
Download the free Flash Player now!

