如何防止Facebook在应用浏览器中打开我的网站链接?

Mus*_*kat 11 javascript android facebook facebook-graph-api ios

我正在开发网络应用程序,我使用Facebook分享我的内容,我面临的问题是当有人点击Facebook上发布的链接有时它会在应用程序浏览器中使用Facebook打开并导致许多问题.

有没有办法阻止Facebook使用我的链接并使用设备默认浏览器?

Mcb*_*ese 7

我无法让我的js动态网格在Facebook应用程序内浏览器中运行,但我不能只是让用户知道出了什么问题,他们需要在真正的浏览器中打开.

我使用js来检测Facebook应用程序内浏览器,并尝试使用js警报通知用户他们需要"在safari中打开",但警报不能与Facebook应用内浏览器一致或可靠地工作.

我发现重定向到用户警报页面是最可靠的解决方案.它可以根据需要显示(模态等)包含重定向的代码示例.请注意,重定向页面仍保留在Facebook浏览器中 - 只有用户交互才能突破.我使用我的重定向页面告诉人们使用'在Safari中打开'共享>功能.

当用户点击"在safari中打开"时,重定向页面会在safari中重新加载,检测到它现在不在Facebook应用程序内浏览器中,并自动将用户重定向回到他们想要的页面,但是没有从Facebook应用内浏览器中获取更长时间."一键式"解决方法,让用户退出该应用内浏览器.

最好的解决方案仍然是我的js网格有一天在Facebook浏览器中"正常工作".如果有人弄明白,请告诉我.

<!-- check if running in facebook app -->
    <script>

    var ua = navigator.userAgent || navigator.vendor || window.opera;

    function isFacebookApp() {
        return (ua.indexOf("FBAN") > -1) && (ua.indexOf("FBAV") > -1);
    }

        if (isFacebookApp()) {
            window.parent.location.assign("https://yourdomain.com/redirect_page/index.html");
        }

    </script>
Run Code Online (Sandbox Code Playgroud)


lus*_*chn 5

这完全取决于用户,无法强制在默认浏览器中打开它。此线程中有更多信息(和一些答案):文件上传控件在 Facebook 应用内浏览器中不起作用

  • 这个答案说“不可能”,但它下面的答案清楚地展示了“一种方法”。为什么这是公认的答案? (2认同)
  • 抱歉,但这并不意味着我的回答是错误的。你仍然不能“强迫”它,问题是如何完全避免它。 (2认同)