15

我已经在 Facebook 的画布应用程序中实现了标准 Flash 版本的Uploadify jQuery 插件。

上传在 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

1.-尝试在您的 api 设置中编辑您的 url,如 name_api_to_download.domain.com 或 domain.com,并仅使用 ssl 子域或域 true

2.-使用 ajax 请求(post 或 get)preferer 来下载文件而不是 iframe,因为您使用父 iframe api,它不是可访问的

3.-在 name_api_to_download 中使用有效的标头(因为 MIME 类型是 application/pdf )

于 2014-01-04T04:59:21.940 回答
1

根据另一个线程将 document.domain 更改为完全其他域,可以将域更改为当前域的后缀。

如果“[应用程序域]”可以更改,您可以尝试将[应用程序域]更改为“ https://[应用程序域].apps.facebook.com/”并在加载 iframe 时从 iframe 页面运行 javascript

document.domain = 'facebook.com';

但不确定添加另一个域作为后缀是否有任何问题(合法吗?)。

于 2013-02-17T02:12:22.143 回答
1

很久以前我在使用 facebook 和 crossdomain 时遇到了问题,你试过了吗

header('P3P: CP="CAO PSA OUR"');

在你的 php 文件上?

于 2013-11-01T16:48:44.843 回答