在 Facebook 应用程序之外打开网站链接

2024-01-04

我已经找到了一种方法来检测页面是否已加载到 Facebook 应用程序内,方法如下:

var ua = navigator.userAgent || navigator.vendor || window.opera;
if((ua.indexOf("FBAN") > -1) || (ua.indexOf("FBAV") > -1)) {
    var openInBrowser = window.confirm("This page works best outside of the Facebook app. Do you want to open it in your browser instead?");
    if (openInBrowser) {
        window.open(
          window.location.href, 
          '_blank'
        );
    }
}

然而,这个脚本似乎不起作用。是不是因为手机拦截了(弹出窗口拦截器)?目的是要求用户通过浏览器加载页面,如果用户同意,则在 Safari、Chrome 或任何首选浏览器中打开页面。


我知道已经晚了,但我最近遇到了这个问题,我认为我的答案可能对有同样问题的人有用。

截至撰写本文时,据我所知,不可能通过 JavaScript 代码实现您想要的结果。唯一的选项涉及让用户自行配置或执行某些操作,并且 iOS 和 Android 之间的选项有所不同。 您可以检测用户是否在 Facebook 内部浏览器中,并指导用户下一步做什么。不幸的是,这是很差的用户体验。


对于 Android Facebook 应用程序:用户可以禁用内部浏览器:点击三行(三明治)菜单,向下滚动到“设置和隐私”,然后选择“设置”。再次向下滚动到“媒体和联系人”。在这里,您将看到“链接在外部打开”切换。这个需要开启。

对于 iOS Facebook 应用程序:用户可以打开链接,然后点击右上角 (Facebook) 或右下角 (Messenger) 的三点菜单,然后选择“在 Safari 中打开”。


对于安卓,有一个涉及 Firebase 动态链接的解决方法 -此处描述 https://stackoverflow.com/a/56143217/3000586.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Facebook 应用程序之外打开网站链接 的相关文章

随机推荐