15

Facebook のキャンバス アプリ内にUploadify jQuery プラグインの標準 Flash バージョンを実装しました。

アップロードは Firefox で問題なく動作しています。しかし、Chrome または IE でアップロードを開始しようとすると、コンソールに次のメッセージが表示されて失敗します。

Uncaught Call to StartUpload failed

Facebook キャンバス アプリに慣れていない方のために説明すると、Facebook の iframe 内で実行されている PHP ページがこの問題を引き起こしている可能性があります。ただし、フレーム外で実行しても機能しません。


Chrome コンソールでも次のエラーが表示されます。

Unsafe JavaScript attempt to access frame with URL https://apps.facebook.com/[app name]/[page name]/ from frame with URL https://[app domain]/[page path]. The frame being accessed set 'document.domain' to 'facebook.com', but the frame requesting access did not. Both must set 'document.domain' to the same value to allow access.


何が起こっているのでしょうか?Flash 用にcrossdomain.xmlをセットアップしようとしましたが、成功しませんでした。

4

3 に答える 3

1

別のスレッドによると、document.domainを完全に他のドメインに変更すると、ドメインを現在のドメインのサフィックスに変更することが可能です。

「[アプリドメイン]」を変更できる場合は、[アプリドメイン]を「https://[アプリドメイン].apps.facebook.com /」に変更して、iframeの読み込み時にiframeページからjavascriptを実行してみてください。

document.domain = 'facebook.com';

しかし、サフィックスとして別のドメインを追加することに問題があるかどうかはわかりません(それは合法ですか?)。

于 2013-02-17T02:12:22.143 に答える
1

1.-API 設定で URL を name_api_to_download.domain.com または domain.com として編集し、ssl サブドメインまたはドメイン true のみを使用してみてください

2.-親iframe APIを使用しているため、iframeではなくファイルをダウンロードするためにajaxリクエスト(投稿または取得)を優先して使用しますが、アクセスできません

3.-有効なヘッダーを name_api_to_download で使用します (MIME タイプが application/pdf であるため)

于 2014-01-04T04:59:21.940 に答える