如何在外部浏览器而不是在应用程序(instagram)中打开链接?

时间:2018-05-07 11:02:42

标签: instagram

我一直试图弄清楚如何在外部浏览器(Safari,Chrome)中打开您在Instagram应用中打开的网址,而不是内置的Instagram浏览器。

我希望Instagram网站部分的链接要求离开Instagram应用程序并打开外部浏览器访问网站。

我尝试了很多东西,比如使用带有_blank,_system等的window.open。

4 个答案:

答案 0 :(得分:1)

这是不可能的,因为它是Instagram开发人员故意选择使用他们自己的浏览器控件。

答案 1 :(得分:0)

实际上,有可能。 您首先使用应用内浏览器访问该链接,然后单击页面右上方的3点按钮,然后选择“在Chrome中打开”。

答案 2 :(得分:0)

我发现了一篇有趣的文章, 尝试使用此代码,使Instagram的应用内浏览器重定向到您的网站

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

有关更多信息,请参阅以下文章: https://medium.com/@sasan.salem/opening-of-your-website-in-the-viewers-external-browser-automatically-instead-of-instagram-s-8aca5ee7e22f

答案 3 :(得分:0)

打开您的网站自动在查看者的外部浏览器中显示,而不是 Instagram 的应用内浏览器(在 Android 设备上)。

您可以通过充当要下载的文件来解决它,然后应用内浏览器会将您重定向到移动浏览器。

不适用于 iPhone。 :(

PHP



<?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);
        die();
    }
?>

ASP.NET Web API:

namespace DotNet.Controller
{
    public class DummyBytesController : ApiController
    {
        [HttpGet]
        public HttpResponseMessage Get()
        {
            HttpResponseMessage Response;

            string UserAgent = HttpContext.Current.Request.UserAgent;
            if(UserAgent.Contains("Instagram"))
            {
                Response = new HttpResponseMessage(HttpStatusCode.OK);
                Response.Content = new ByteArrayContent(new byte[50]);
                Response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
                return Response;
            }
            else
            {
                Response = Request.CreateResponse(HttpStatusCode.Redirect);
                Response.Headers.Location = new Uri("https://mywebsite.com");
                return Response;
            }
        }
    }
}