我一直试图弄清楚如何在外部浏览器(Safari,Chrome)中打开您在Instagram应用中打开的网址,而不是内置的Instagram浏览器。
我希望Instagram网站部分的链接要求离开Instagram应用程序并打开外部浏览器访问网站。
我尝试了很多东西,比如使用带有_blank,_system等的window.open。
答案 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)
您可以通过充当要下载的文件来解决它,然后应用内浏览器会将您重定向到移动浏览器。
不适用于 iPhone。 :(
<?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();
}
?>
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;
}
}
}
}