アクセシビリティ

TechNote

ローカル 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 のデモを参照するには以下の作業を行ってください。

  1. Step 2 に進む前に、Macromedia Flash Player 6 が必ずインストールされていることを確認します。

    メモ: Flash Player のバージョン確認はこちらのテストページをご参照ください。
  2. 以下の Flash ムービーのテキストフィールドにテキストを入力します。
  3. ブラウザの更新または再読み込みボタンをクリックし、表示回数が更新されるか確認します。
  4. ムービー内のリセットボタンをクリックすると Shared Object に保存された値がリセットされます。

    Windows ソースファイルのダウンロード
    local_so.zip (22K)
    Macintosh ソースファイルのダウンロード
    local_so.sit (24K)


Shared Object を使用方法

  1. 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、
  1. 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();
  2. 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

:2006-04-22
:228630
:Macintosh, Windows
:8, MX2004, MX
:http://go.adobe.com/kb/ts_228630_ja-jp
:
flash

:228630
:Macintosh, Windows

flash

問題は解決しましたか?

はい
いいえ


最大300文字