Flash CS3 ドキュメンテーション |
|||
| ActionScript 3.0 のプログラミング > Flash Player セキュリティ > ホスト Web ページのスクリプトへのアクセスの制御 | |||
外部スクリプトは、次の ActionScript 3.0 API を使用して実行できます。
flash.system.fscommand() 関数flash.net.navigateToURL() 関数 (navigateToURL("javascript: alert('Hello from Flash Player.')" などのスクリプトステートメントを指定するとき)flash.net.navigateToURL() 関数 (window パラメータを "_top"、"_self"、または "_parent" に設定したとき)ExternalInterface.call() メソッドローカルに実行される SWF ファイルについては、SWF ファイルとこれを含む Web ページ (存在する場合) が local-trusted セキュリティサンドボックス内に置かれている場合にのみ、上記のメソッドの呼び出しが成功します。上記のメソッドの呼び出しが失敗するのは、コンテンツが local-with-networking または local-with-filesystem のいずれかのサンドボックス内にある場合です。
SWF ファイルをロードする HTML コード内の AllowScriptAccess パラメータは、SWF ファイル内から外部スクリプトを実行する機能を制御します。
SWF ファイルをホストする Web ページの HTML コード内でこのパラメータを設定します。このパラメータは、PARAM タグまたは EMBED タグの中で設定します。
AllowScriptAccess パラメータの可能な値は、次の 3 つです。"always"、"sameDomain"、または "never"
AllowScriptAccess が "sameDomain" の場合、外部スクリプトが許可されるのは SWF ファイルと Web ページが同じドメイン内にある場合のみです。これは、AVM2 のコンテンツのデフォルト設定です。AllowScriptAccess が "never" の場合、外部スクリプトは常に失敗します。AllowScriptAccess が "always" に設定されている場合、外部スクリプトは常に成功します。HTML ページ内の SWF ファイルで AllowScriptAccess パラメータが指定されていない場合、AVM2 のコンテンツのデフォルトは "sameDomain" です。
次に、HTML ページで AllowScriptAccess タグを設定する例を示します。
<object id='MyMovie.swf' classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0' height='100%' width='100%'> <param name='AllowScriptAccess' value='never'/> <param name='src' value=''MyMovie.swf'/> <embed name='MyMovie.swf' pluginspage='http://www.adobe.com/go/getflashplayer' src='MyMovie.swf' height='100%' width='100%' AllowScriptAccess='never'/> </object>
AllowScriptAccess パラメータを使用すると、あるドメインでホストされている SWF ファイルから別のドメインの HTML ページのスクリプトにアクセスすることを禁止できます。別のドメインでホストされているすべての SWF ファイルで AllowScriptAccess="never" を使用すると、HTML ページ内のスクリプトのセキュリティが確保されます。
詳細については、『ActionScript 3.0 コンポーネントリファレンスガイド』で次の項目を参照してください。
flash.system.fscommand() 関数flash.net.navigateToURL() 関数call() メソッド
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000360.html