如果我的个人资料中有一个链接,该链接会在 iOS 或 Android 中打开一个应用内浏览器。是否可以改为打开外部浏览器?可能在我自己的网站上,如果我能检测到用户是否使用移动设备,打开 native 浏览器?也许这是使用 javascript 的解决方案?
问题是因为用户登录我的网站,然后在 Instagram 中点击链接,应用内浏览器不会让用户保持登录状态。
最佳答案
这是可能的,也很简单!
你必须欺骗 Instagram 的应用内浏览器。 Instagram 应用内浏览器的弱点是文件下载。当您要求它下载文件时,它会调用外部浏览器,这是我们的 key 匙。
您首先需要检查您的客户使用哪种浏览器访问您的网站。
换句话说:
<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
关于javascript - Instagram 链接打开应用程序内浏览器而不是外部/ native 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53217071/