我正在处理一个应用程序,该应用程序可以使用需要facebook权限的iFrame嵌入到其他页面中。问题是我们在尝试使用facebook SDK从iOS内部的iFrame登录时遇到问题(登录窗口永远不会出现)。我们在放置iFrame的父页面上运行代码,所以我的问题是,我可以将SDK放在父页面上,而不会与该页面上任何现有的Facebook SDK冲突吗?
答案 0 :(得分:1)
不,你不能。 JS SDK只能嵌入和初始化一次。我可以将SDK放在父页面上,而不会与该页面上任何现有的Facebook SDK冲突吗?
问题是我们在尝试使用facebook SDK从iOS内部的iFrame登录时遇到问题(登录窗口永远不会出现)
在许多情况下,整个JS SDK弹出登录流程并不是最适合移动设备的。
您可能会更好地实施手动登录流程https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow
如果您在新窗口中打开它,则必须找到再次关闭它的方法,并通知iframe已成功登录。 (可能在关闭登录窗口之前使用postMessage。)
另一种可能的选择是在顶部窗口中重定向(而不是打开新窗口/弹出窗口),然后在登录回第三方网站后再次加载iframe。 (但并非所有在页面上使用插件的人都喜欢这样。)