navigateToURL

ボタンを押したら特定のページに飛ぶようなスクリプトを書こうとして、

    private function onURLButtonClick(e:MouseEvent):void{
      navigateToURL(new URLRequest("http://hogehoge/index.html"),"_blank");
    }

みたいなコードを書いたが、実際におしても何もならない。これはどうもフラッシュのセキュリティの問題のようだ。

対応するセキュリティは、allowScriptAccessというパラメータで、デフォルト値は "sameDomain"、すなわちフラッシュが置かれているドメインと同じところとしか通信しない。

デバッグ時にこれでは面倒なので、とりあえずは"always"にしておき、実際に運用するサイトにアップロードするときには"sameDomain"にするのがよさそう。

ちなみにallowScriptAccessはswfを表示するHTMLにおいて、以下のように指定する。

<embed src="./hoge.swf" type="application/x-shockwave-flash"  width="320" height="320" bgcolor="#000000" allowScriptAccess="always" pluginspage="http://www.adobe.com/go/getflashplayer_jp"/>

IEだとOBJECTタグ使ったほうが良いかも。詳しくは知らん。