相关疑难解决方法(0)

Facebook和跨域消息传递澄清?

我想调查facebook登录如何将数据传输到主页面(mypage) - 尽管跨域限制.

所以我用FB js sdk代码创建了一个新页面:

FB.login(function (response)
    {
    if (response.authResponse)
        {...
Run Code Online (Sandbox Code Playgroud)

它确实打开了弹出窗口:

在此输入图像描述

但是当我调查我的页面上是否有任何Iframe (我的代码不包含任何iframe):

我看到了这个 :

>>$("iframe")
Run Code Online (Sandbox Code Playgroud)

结果:

[
<iframe name=?"fb_xdm_frame_http" frameborder=?"0" allowtransparency=?"true" scrolling=?"no" id=?"fb_xdm_frame_http" aria-hidden=?"true" title=?"Facebook Cross Domain Communication Frame" tab-index=?"-1" src=?"http:?/?/?static.ak.facebook.com/?connect/?xd_arbiter.php?version=24#channe…l_path=%2FWebSite2%2FHTMLPage3.htm%3Ffb_xd_fragment%23xd_sig%3Df5252874%26" style=?"border:? none;?">?…?</iframe>?
, 
<iframe name=?"fb_xdm_frame_https" frameborder=?"0" allowtransparency=?"true" scrolling=?"no" id=?"fb_xdm_frame_https" aria-hidden=?"true" title=?"Facebook Cross Domain Communication Frame" tab-index=?"-1" src=?"https:?/?/?s-static.ak.facebook.com/?connect/?xd_arbiter.php?version=24#cha…l_path=%2FWebSite2%2FHTMLPage3.htm%3Ffb_xd_fragment%23xd_sig%3Df5252874%26" style=?"border:? none;?">?…?</iframe>?
]
Run Code Online (Sandbox Code Playgroud)

我读到它们用于跨域.

但问题是为什么他们在MY PAGE上

他们应该在Facebook内部页面的某个地方!

我这么说是因为我知道iframe技术的工作原理如下:

在此输入图像描述

如您所见 - 内部Iframe 使用查询字符串中的值创建另一个 iframe SRC(该值实际上是首页url),然后,在两个页面上使用JS + URL => JS …

javascript facebook cross-domain facebook-javascript-sdk

18
推荐指数
1
解决办法
2万
查看次数