Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从iframe嵌入式Facebook应用程序获取数据_Facebook_Fbjs - Fatal编程技术网

从iframe嵌入式Facebook应用程序获取数据

从iframe嵌入式Facebook应用程序获取数据,facebook,fbjs,Facebook,Fbjs,使用iFrame,我的网站上的人可以访问他们的Facebook帐户,显示他们的相册列表,然后显示所选相册中的照片 此时,当用户单击照片时,我会显示一个对话框,显示照片的路径 所有这些都非常有效 我的下一步是将照片的路径信息传递回我的网页,但我不知道该怎么做,因为我想要传递数据的对象不在iFrame中,因此Facebook不知道。我试图通过在我的网站上包含iFrame的DOM引用它,从而实现自上而下 parent.client.document.getElementByIdFBPhoto.setV

使用iFrame,我的网站上的人可以访问他们的Facebook帐户,显示他们的相册列表,然后显示所选相册中的照片

此时,当用户单击照片时,我会显示一个对话框,显示照片的路径

所有这些都非常有效

我的下一步是将照片的路径信息传递回我的网页,但我不知道该怎么做,因为我想要传递数据的对象不在iFrame中,因此Facebook不知道。我试图通过在我的网站上包含iFrame的DOM引用它,从而实现自上而下

parent.client.document.getElementByIdFBPhoto.setValuephotoReference

…但那没用


在我的站点上,将参数传递给PHP脚本将不起作用,因为我不想刷新站点上的页面,因为这将导致用户丢失数据。

从您提供的内容来看,您的JS可能是错误的

这样做可能会获得所需的价值:

var photoReference = window.frames["iframe-name"].document.getElementById("FBPhoto");
然后您需要将其分配给某个对象:

MyObject.setValue(photoReference);
注意:window.frames[iframe name].document.getElementByIdFBPhoto将返回名为FBPhoto的DOM元素,因此将是HTML的一大块。您的setValue方法可能不希望出现这种情况


我建议您尝试在已安装的情况下运行脚本,这将允许您将照片参考的值转储到控制台,以查看您得到了什么。

Doy。。。我意识到,由于Facebook连接是在专用的iFrame中运行的,因此重新定向该框架不会有问题,因为无论如何都没有理由让它保持打开状态

对于任何感兴趣的人,以下是我所做的

index.PHP中的PHP显示相册照片

PHP还使用href标记包围每个img框架

该链接指向我网站上的一个PHP文件,并包含一个参数,其中包含照片大版本的位置,因为我的应用程序正在显示缩略图。类似于:

当用户单击所需的照片时,其相应的链接在我的站点上调用get-photo.php并传递照片的路径

然后,get-photo.php将对我的网站主JS文件的引用插入到文档头中,并将脚本插入HTML文档的主体中

该脚本调用JS fetch photo函数,并传递从运行Facebook应用程序的嵌入式iFrame接收的path参数

JS函数关闭iFrame,因为此时我已经使用Facebook并从Facebook抓取了照片


您需要提供更多的源代码来帮助我们理解您的问题。非常感谢,Phillip。我要试一试。