Javascript Instagram链接在应用程序浏览器中打开,而不是在外部/本机浏览器中打开

Javascript Instagram链接在应用程序浏览器中打开,而不是在外部/本机浏览器中打开,javascript,android,ios,instagram,instagram-api,Javascript,Android,Ios,Instagram,Instagram Api,如果我的个人资料中有一个链接,该链接将打开一个来自iOS或Android的应用程序内浏览器。是否可以打开外部浏览器?可能在我自己的网站上,如果我能检测到用户是否使用移动,是否打开本机浏览器?也许这是一个使用javascript的解决方案 问题是,登录到我的网站,然后单击Instagram应用程序浏览器中的链接的用户无法保持用户登录。这是可能的,而且很简单 你必须欺骗Instagram的应用程序内浏览器。Instagram应用内浏览器的弱点是文件下载。当您要求它下载文件时,它会调用外部浏览器,这是

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


问题是,登录到我的网站,然后单击Instagram应用程序浏览器中的链接的用户无法保持用户登录。

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

您首先需要检查您的客户使用哪个浏览器访问您的网站。
换言之:

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

if(navigator.userAgent.includes(“Instagram”)){
window.location.href=”https://mywebsite.com/DummyBytes";
}
然后,实现DummyBytes API。此API根据查看器的浏览器返回不同的响应。如果查看器的浏览器是Instagram的应用程序内浏览器,它将返回一些虚拟字节作为文件,否则它将返回一个响应,将查看器的浏览器重定向到您的主网站(mywebsite.com)


如果您需要更多指导,请参阅下面的链接:

@J0ker98不幸的是,它在IOS上不起作用。我试图找到一种方法,但由于IOS的限制,浏览器无法识别“文件”概念,并在浏览器中显示文件的字节。您所能做的就是检测客户端的操作系统,如果是IOS,请让客户端使用外部浏览器
<?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');
    }
?>