我想研究 facebook 登录如何将数据传输到主页( mypage )——尽管有跨域边界限制。
所以我用FB js sdk
代码创建了一个新页面:
FB.login(function (response)
{
if (response.authResponse)
{...
它确实打开了弹出窗口:
但是当我调查我的页面上是否有任何 iframe (我的代码不包含任何 iframe)时:
我看到了这个 :
>>$("iframe")
结果 :
[
<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>
]
我读到它们用于跨域。
但问题是为什么他们在我的页面上 ?
它们应该在 facebook 内部页面的某个地方!
我这么说是因为我知道Iframe 技术是这样工作的:
如您所见 - 内部 iframe 使用来自查询字符串的值创建另一个iframe SRC
(该值实际上是首页 url),然后,在两个页面上使用 JS + URL => JS
触发函数,我们可以这样做:
top.sendData({...})
我错过了什么?
- 数据如何从 FB 登录传递到我的页面?