【问题标题】:Instagram links open in-app browser instead of external/native browserInstagram 链接打开应用内浏览器而不是外部/本机浏览器
【发布时间】:2018-11-08 22:23:55
【问题描述】:

如果我的个人资料中有链接,则该链接会打开一个来自 iOS 或 Android 的应用内浏览器。是否可以改为打开外部浏览器?可能在我自己的网站中,如果我可以检测到用户是否使用移动设备,请打开本机浏览器?也许这是使用 javascript 的解决方案?

问题是因为登录到我的网站的用户,然后点击 Instagram 中的链接,应用内浏览器不会让用户保持登录状态。

【问题讨论】:

    标签: javascript android ios instagram instagram-api


    【解决方案1】:

    这是可能的,而且很简单!
    你必须欺骗 Instagram 的应用内浏览器。 Instagram 应用内浏览器的弱点是文件下载。当您要求它下载文件时,它会调用外部浏览器,这就是我们的金钥匙。

    您首先需要检查您的客户使用哪种浏览器访问您的网站。
    换句话说:

    <script>
       if(navigator.userAgent.includes("Instagram")){
           window.location.href = "https://mywebsite.com/DummyBytes";
       }
    </script>
    

    然后,实现 DummyBytes API。此 API 根据查看者的浏览器返回不同的响应。如果查看者的浏览器是 Instagram 的应用内浏览器,它将返回一些虚拟字节作为文件,否则将返回一个响应,将查看者的浏览器重定向到您的主网站 (mywebsite.com)

    <?php
        $userAgent = $_SERVER['HTTP_USER_AGENT'];
        if (strpos($userAgent, 'Instagram')) {
            header('Content-type: application/pdf');
            header('Content-Disposition: inline; filename= blablabla');
            header('Content-Transfer-Encoding: binary');
            header('Accept-Ranges: bytes');
            @readfile($file);
        }
        else{
            header('Location: https://halterapp.com');
        }
    ?>
    

    如果您需要更多指导,请参阅以下链接:
    Opening of your website in the viewer’s external browser automatically instead of Instagram’s in-app browser

    【讨论】:

    • @J0ker98 不幸的是,它在 IOS 上不起作用。我试图找到一种方法,但由于 IOS 的限制,浏览器无法识别“文件”概念并在浏览器中显示文件的字节。您所能做的就是检测客户端的操作系统,如果是 IOS,请让您的客户端使用外部浏览器
    • 有 iOS 的解决方案或替代方案吗?
    • @Mario 不幸的是,它在 IOS 上不起作用。它仅适用于安卓设备。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多