1

フラッシュコーディングに関しては、私は完全な初心者です。

S3 アセット バケットからロードしているフラッシュ SWF ファイルがあります。Flash SWF 内には、「参照」ボタンが表示されているはずです。画像も同じバ​​ケットから提供されています。これは、サイトが存在するドメインと同じドメインから画像と swf ファイルをホストしている場合は正常に機能しますが、S3 からロードした場合は機能しません。

次のようにアセット バケットにファイルを追加しましたcrossdomain.xml('*' を使用して開始し、動作させようとしており、何かを実行しているように見える場合は、実際のホストに絞り込みます)。

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <allow-access-from domain="*"/>
</cross-domain-policy>

また、スタイルシートのフォントが正しく読み込まれるように、クロスオリジンのリソース共有構成もバケットに持っています (これは機能しています)。

ボタン画像をアクションスクリプトにロードするために何が間違っていますか? actionscript コード自体を変更する必要がありますか? コードはここにあります (私が作成したものではなく、誰でも使用できる公開ライブラリ): s3-swf-upload-plugin

ここで、新しく定義されたhereをインスタンス化していることがわかります。私が言ったように、私はactionscriptに完全に精通しているわけではありませんが、誰かが何がうまくいかないのかを教えてくれれば、それをいじることができると信じています:)実際のエラーレポートを取得する良い方法は何ですか? Firefox と Chrome のコンソールの Firebug には、発生中のエラーに関する Flash からのメッセージはありません。browseButton

編集:

フラッシュ オブジェクトの設定とボタン イメージのパスの設定には、いくつかの奇妙な点がありました。これを行うために更新BrowseButton.asしました:

Security.loadPolicyFile("http://s3.amazonaws.com/my-bucket/crossdomain.xml");

関数URLRequest内の呼び出しの前にこれを配置しました。BrowseButton()ただし、まだ画像が表示されていません:( URLRequestの値を次のようにハードコードしました:

upLoader.load(new URLRequest("http://s3.amazonaws.com/my-bucket/assets/s3_up_button.gif"));

しかし、何も起こらないようです。/assets/s3_up_button.gifローカルファイルからプルするように設定すると、正常に動作します。私は何を間違っていますか!フラッシュ ビデオから表示されるエラー メッセージを取得するにはどうすればよいですか? :\ でコンパイルしまし<debug>true</debug>たが、実際の例外メッセージを取得する方法がわかりません。

4

1 に答える 1

1

swf がどのサンドボックスにあるかを確認します。

Security.sandboxType プロパティ

SWF ファイルの作成者は、読み取り専用の静的な Security.sandboxType プロパティを使用して、Flash Player が SWF ファイルを割り当てたサンドボックスのタイプを判別できます。Security クラスには、次のように、Security.sandboxType プロパティの可能な値を表す定数が含まれています。

Security.REMOTE--The SWF file is from an Internet URL, and operates under domain-based sandbox rules.
Security.LOCAL_WITH_FILE--The SWF file is a local file, but it has not been trusted by the user and was not published with a networking designation. The SWF file can read from local data sources but cannot communicate with the Internet.
Security.LOCAL_WITH_NETWORK--The SWF file is a local file and has not been trusted by the user, but it was published with a networking designation. The SWF can communicate with the Internet but cannot read from local data sources.
Security.LOCAL_TRUSTED--The SWF file is a local file and has been trusted by the user, using either the Settings Manager or a Flash Player trust configuration file. The SWF file can both read from local data sources and communicate with the Internet.

Security.LOCAL_WITH_NETWORKも機能しますが、おそらく必要ですSecurity.LOCAL_TRUSTED

Flex でサンドボックスを設定する方法の詳細とともに、説明はここにあります: http://livedocs.adobe.com/flex/3/html/help.html?content=05B_Security_04.html

Flash IDE で作業している場合は、パブリッシュ設定の一部にする必要があります。

于 2012-09-19T07:05:38.810 に答える