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

时间:2015-10-17 08:53:32

标签: javascript android html url-redirection http-redirect

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

<a href="instagram://user?username={USERNAME}">Link to Instagram Profile</a>

我一直在寻找运行网址的方法&#39; instagram:// user?username = {USERNAME}&#39;自动(如自动重定向)。

以下是我在脑海中尝试的内容:

1

<meta http-equiv="refresh" content="0; url=instagram://user?username={USERNAME}" />

2

<script type="text/javascript">
window.location.href = "instagram://user?username={USERNAME}"
</script>

3。 @ Nitin-bagoriya提出的变异

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

    addEventListener(&#39; load&#39;,load);

  2. 但是当我在那里浏览时 - 没有任何事情发生。 它是在安装了instagram应用程序的android上测试的。

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

2 个答案:

答案 0 :(得分:1)

你只需要在.html文件的head部分添加 window.onLoad

您的最终代码将如下:

  

window.onLoad = window.location.href =&#34; instagram:// user?username = {USERNAME}&#34;

或者你可以创建一个包含 window.location.href =&#34; instagram:// user?username = {USERNAME}&#34; 的函数并在 window.onload !

答案 1 :(得分:1)

重新思考,以便其他人可以受益。

0。主要问题:

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

1。 PHP解决方案:

最初的工作似乎是在PHP中添加重定向,如here所述,如下所示:

<?php header("Location: instagram://user?username={USERNAME}") ; ?>

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

iOS提供“window.location。替换”来进行重定向,而Android提供的是“文档 .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 );
}

详情请见此处:iOS and Android redirects in javascript