android - 检测网页是否在 iOS/Android 上的 native Facebook 应用程序中加载

标签 android ios facebook webview facebook-javascript-sdk

我有一个使用 Facebook javascript SDK 的网络应用程序。我想检测此 Web 应用程序是否在 iOS 或 Android 上的 native Facebook 应用程序中运行。原因是因为如果不在合适的浏览器中运行,我想在 float iframe 中打开某些链接,而不是在新的网页/选项卡中打开。

我如何轻松检测是否在 native Facebook 应用程序中的移动设备上运行。我知道建议使用 FB.UA 的答案,但该答案已有 3 年历史,并且不再记录该 API。

是否可以指定 HREF 以在移动设备的 native 浏览器中启动 URL?然后我的链接可以启动浏览器,我的网络应用程序会在 Facebook 原生应用程序中继续运行。

最佳答案

这对我来说在 JavaScript 中工作得很好:

if (navigator.userAgent.match(/(iPod|iPhone|iPad)/) && navigator.userAgent.match(/FBAV/i)) {
    //iOS Facebook App Browser detected
}

关于android - 检测网页是否在 iOS/Android 上的 native Facebook 应用程序中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29655399/

相关文章:

java - Java 中的 Mqtt 客户端 ssl 示例

android - ExpandableListView 中的按钮 - 不寻常的标签行为

Android:LinearLayout 中奇怪的权重反转

ios - 如何引用 View 中的所有 UITextfield? swift 4.2

javascript - 为什么点击 Facebook 连接按钮会抛出 JavaScript 错误?

Safari 上的 javascript FB.login

android - card_view :cardElevation only appears on api < 21

android - android构建后无法运行模拟器

iphone - 升级操作系统应用程序时迁移 sqlite 数据库有哪些选项?

ios - 应用程序无法在第二个模拟器上运行?