如何重定向到 Instagram://user?username={username}

use*_*823 5 html javascript android http-redirect url-redirection

我在我的 html 页面上有这个链接,可以在特定用户上打开 Instagram 应用程序:

<a href="instagram://user?username={USERNAME}">Link to Instagram Profile</a>
Run Code Online (Sandbox Code Playgroud)

我一直在寻找自动运行 url 'instagram://user?username={USERNAME}' 的方法(如自动重定向)。

这是我在头脑中尝试过的:

1.

<meta http-equiv="refresh" content="0; url=instagram://user?username={USERNAME}" />
Run Code Online (Sandbox Code Playgroud)

2.

<script type="text/javascript">
window.location.href = "instagram://user?username={USERNAME}"
</script>
Run Code Online (Sandbox Code Playgroud)

3.@Nitin-bagoriya 建议的变体

<script> function load() { window.location.href = "instagram://user?username={USERNAME}"}; window.onload = load; </script> 
Run Code Online (Sandbox Code Playgroud)
  1. @Giuseppe 建议的变体

    addEventListener('load', load);

但是当我在那里浏览时 - 什么也没有发生。它在安装了 Instagram 应用程序的 android 上进行了测试。

我想知道有没有办法通过重定向自动运行 Instagram 应用程序,这样用户就不需要点击链接?

Giu*_*ppe 2

回顾一下,以便其他人受益。

0、主要问题:

移动操作系统(iOS 或 Android)不支持基于“window.location.href”的 Javascript 解决方案。

1.PHP解决方案:

似乎第一个工作是在 PHP 中添加重定向,如此处回答,如下所示

<?php header("Location: instagram://user?username={USERNAME}") ; ?>
Run Code Online (Sandbox Code Playgroud)

2. Javascript 中的(更好)解决方案:

iOS 提供了“window.location.replace 来进行重定向,而 Android 提供的是“ document.location ”。因此,您需要首先进行设备检测,然后应用正确的重定向。

var destination = "instagram://user?username={USERNAME}"; 
if( navigator.userAgent.match(/Android/i) ) {
  // use Android's redirect
  document.location = destination;   
}   
else {
  // use iOS redirect
  window.location.replace( destination );
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅此处:iOS 和 Android 在 javascript 中重定向