送信 URL アクセスの制御Flash Player 9 以降、Adobe AIR 1.0 以降 送信スクリプトおよび(HTTP URL、mailto: などを介した)URL アクセスは、次の API を使用して行われます。
ローカルファイルシステムからロードされるコンテンツの場合、コードとこれを含む Web ページ(存在する場合)が local-trusted または AIR アプリケーションのいずれかのセキュリティサンドボックス内に置かれている場合にのみ、上記のメソッドを正常に呼び出すことができます。上記のメソッドの呼び出しが失敗するのは、コンテンツが local-with-networking または local-with-filesystem のいずれかのサンドボックス内にある場合です。 ローカルでロードされていないコンテンツの場合、次に説明する AllowScriptAccess パラメーターの値に応じて、これらの API はすべてその API が埋め込まれている Web ページと通信できます。flash.net.navigateToURL() 関数には、SWF ファイルが埋め込まれているページだけではなく、開いているブラウザーウィンドウまたはフレームと通信する追加機能があります。この機能について詳しくは、navigateToURL() 関数の使用を参照してください。 SWF ファイルをロードする HTML コード内の AllowScriptAccess パラメーターは、SWF ファイル内から送信 URL アクセスを実行する機能を制御します。このパラメーターは PARAM または EMBED タグの内部で設定します。AllowScriptAccess に値を設定しない場合、SWF ファイルと HTML ページは、その両方が同じドメインにある場合にのみ通信できます。 AllowScriptAccess パラメーターには、3 つの値(「always」、「sameDomain」または「never」)のいずれかを設定できます。
別のドメインへの送信 URL アクセスを許可する 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='always'/> <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> navigateToURL() 関数の使用前述の allowScriptAccess パラメーターで指定するセキュリティ設定に加えて、navigateToURL() 関数に 2 番目のオプションパラメーター target があります。target パラメーターを使用して、URL 要求の送信先の HTML ウィンドウまたはフレームの名前を指定できます。そのような要求に追加のセキュリティ制限が適用されます。制限は、navigateToURL() がスクリプトステートメントと非スクリプトステートメントのどちらとして使用されているかによって異なります。 navigateToURL("javascript: alert('Hello from Flash Player.')") などのスクリプトステートメントの場合、次のルールが適用されます。
HTTP、HTTPS、mailto: などの非スクリプトステートメントの場合、次のすべての条件が満たされると要求は失敗します。
詳細情報送信 URL アクセスについて詳しくは、『Adobe Flash Platform 用 ActionScript 3.0 リファレンスガイド』の次の項目を参照してください。
|
|