javascript - 登录弹出窗口在 Facebook 应用程序中不起作用,如果存在弹出窗口阻止程序

标签 javascript android ios facebook facebook-javascript-sdk

我们在使用 FB JS SDK、弹出窗口拦截器或 native 应用程序 Web View 时遇到了几个问题。

  1. FB 应用程序有一个设置,可以将 Facebook 应用程序内的网站作为 WebView 打开。 - 这似乎有一个全面的弹出窗口禁令......所以 FB.Login() 什么都不做。
  2. iOS 具有阻止所有 POPUP 的默认设置 - Chrome/Android 也有此设置,但不是默认设置。

我很难相信 Facebook 不知道并且有解决方案,因为这似乎是当今最常见的情况。

受影响的行程。

  1. FB Native 应用程序用户点击指向我们网站的链接。在 FB WebView 中打开 - 无法使用 Facebook 登录。
  2. Safari 用户打开了 iOS 弹出窗口拦截器 - FB JS SDK 无法正常工作。
  3. PC/笔记本电脑 Chrome,因为弹出窗口拦截器已打开 - FB 登录将无法使用。

我们可以看到在现代移动环境中实现这项工作的唯一方法是实现完整的 Oauth 重定向流程。

现在对于所有移动或响应式网站来说,这无疑是正确的 - 您的任何用户都可以通过本地应用程序 Facebook、Twitter、Gmail、Slack、LinkedIn 或任何其他应用程序查看您的网站。

最佳答案

使用 FB 高级部分中指定的重定向流。

https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow

这是在当今的移动环境中可靠地登录或设置 FB 和 Twitter 权限的唯一方法,本地应用程序中有无数的“ WebView ”来显示网页和网站。

关于javascript - 登录弹出窗口在 Facebook 应用程序中不起作用,如果存在弹出窗口阻止程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38208842/

相关文章:

javascript - ACE 编辑器在插入短语后选择单词/标记

Android - 布局不统一

ios - 核心数据迁移 - 从先前版本迁移选定的数据

javascript - 带滚动条的推送菜单

javascript - 使用 *ngIf 加载微调器在函数执行期间未显示

java - 没有强制关闭的 Android 异常

Android - 从另一个 Activity 完成 Activity

iphone - 将 iPad 应用程序转换为 iPhone?

iphone - 如何在 AVAudioPlayer 中静音?

javascript - 在javascript中从输入类型数组创建json