【问题标题】:Open website link outside of Facebook app在 Facebook 应用程序之外打开网站链接
【发布时间】:2017-04-18 17:10:59
【问题描述】:

我已经找到了一种方法来检测页面是否已加载到 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 facebook


    【解决方案1】:

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

    截至撰写本文时,据我所知,JavaScript 代码无法达到您想要的结果。唯一的选择是让用户自己配置或执行某些操作,iOS 和 Android 之间的选项不同。 您可以检测到用户在 Facebook 内部浏览器中,并指示用户下一步做什么。不幸的是,这是糟糕的用户体验。


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

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


    对于 Android,有一个涉及 Firebase 动态链接的解决方法 - described here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-10
      • 1970-01-01
      • 2017-09-27
      • 2017-11-16
      相关资源
      最近更新 更多