是否可以在单个页面上创建多个facebook SDK实例而不会发生冲突?

时间:2017-01-17 18:23:12

标签: facebook iframe facebook-javascript-sdk

我正在处理一个应用程序,该应用程序可以使用需要facebook权限的iFrame嵌入到其他页面中。问题是我们在尝试使用facebook SDK从iOS内部的iFrame登录时遇到问题(登录窗口永远不会出现)。我们在放置iFrame的父页面上运行代码,所以我的问题是,我可以将SDK放在父页面上,而不会与该页面上任何现有的Facebook SDK冲突吗?

1 个答案:

答案 0 :(得分:1)

  

我可以将SDK放在父页面上,而不会与该页面上任何现有的Facebook SDK冲突吗?

不,你不能。 JS SDK只能嵌入和初始化一次。

  

问题是我们在尝试使用facebook SDK从iOS内部的iFrame登录时遇到问题(登录窗口永远不会出现)

在许多情况下,整个JS SDK弹出登录流程并不是最适合移动设备的。

您可能会更好地实施手动登录流程https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow

如果您在新窗口中打开它,则必须找到再次关闭它的方法,并通知iframe已成功登录。 (可能在关闭登录窗口之前使用postMessage。)

另一种可能的选择是在顶部窗口中重定向(而不是打开新窗口/弹出窗口),然后在登录回第三方网站后再次加载iframe。 (但并非所有在页面上使用插件的人都喜欢这样。)