Adobe Flex 3 ヘルプ

ネットワーク API の制限

SWF ファイルのネットワーク機能へのアクセスは、SWF コンテンツを含む HTML ページの <object> タグおよび <embed> タグで allowNetworking パラメータを設定することで制御できます。

allowNetworking に有効な値は、次のとおりです。

  • "all"(デフォルト) - すべてのネットワーク API が SWF でのアクセスを許可されます。
  • "internal" - SWF ファイルは、このセクションの後半で一覧表示されているブラウザナビゲーションまたはブラウザインタラクション API を呼び出せませんが、他のネットワーク API は呼び出せます。
  • "none" - SWF ファイルは、このセクションの後半で一覧表示されているブラウザナビゲーションまたはブラウザインタラクション API を呼び出せません。また、SWF 対 SWF コミュニケーション API(後半で一覧表示されています)は使用できません。

禁止 API が SecurityError 例外をスローする呼び出し。

allowNetworking パラメータを設定するには、次の例に示すように、SWF ファイルの参照を含む HTML ページの <object> タグと <embed> タグに allowNetworking パラメータを追加して、値を設定します。

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
 codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,18,0" 
 width="600" height="400" id="test" align="middle">
<param name="allowNetworking" value="none" />
<param name="movie" value="test.swf" />
<param name="bgcolor" value="#333333" />
<embed src="test.swf" allowNetworking="none" bgcolor="#333333" 
    width="600" height="400"
    name="test" align="middle" type="application/x-shockwave-flash" 
    pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

HTML ページでも、SWF 埋め込みタグを生成するためにスクリプトを使用することができます。スクリプトは、正しい allowNetworking 設定が挿入されるように変更する必要があります。Flash および Adobe Flex Builder で生成された HTML ページで、SWF ファイルに参照を埋め込むために AC_FL_RunContent() 関数を使用する場合は、次のように、allowNetworking パラメータ設定をスクリプトに追加する必要があります。

AC_FL_RunContent( ... "allowNetworking", "none", ...)

以下の API は、allowNetworking"internal" に設定されている場合は禁止されます。

  • navigateToURL()
  • fscommand()
  • ExternalInterface.call()

前述の API に加え、以下の API も、allowNetworking"none" に設定されている場合は禁止されます。

  • sendToURL()
  • FileReference.download()
  • FileReference.upload()
  • Loader.load()
  • LocalConnection.connect()
  • LocalConnection.send()
  • NetConnection.connect()
  • NetStream.play()
  • Security.loadPolicyFile()
  • SharedObject.getLocal()
  • SharedObject.getRemote()
  • Socket.connect()
  • Sound.load()
  • URLLoader.load()
  • URLStream.load()
  • XMLSocket.connect()

選択した allowNetworking の設定により、SWF ファイルでネットワーク API を使用できる場合でも、この章に説明してあるセキュリティサンドボックスの制限に基づいた他の制限が適用されることがあります。

allowNetworking"none" に設定されている場合は、TextField オブジェクト(SecurityError 例外スロー済み)htmlText のプロパティ内の <img> タグにある外部メディアは参照できません。

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート