Javascript 如何在网站中进行深度链接 函数yourOS(){ var ua=navigator.platform.toLowerCase(); 如果(ua.indexOf(“安卓”)!=-1){ document.write(.link(“instagram://user?username=owendunnigan")); }否则{ .link(“http://www.instagram.com/OwenDunnigan"); } }

Javascript 如何在网站中进行深度链接 函数yourOS(){ var ua=navigator.platform.toLowerCase(); 如果(ua.indexOf(“安卓”)!=-1){ document.write(.link(“instagram://user?username=owendunnigan")); }否则{ .link(“http://www.instagram.com/OwenDunnigan"); } },javascript,android,html,deep-linking,Javascript,Android,Html,Deep Linking,我试图将应用程序深入链接到我的网站,但我不知道如何让它进入电脑上的普通Instagram,然后进入Android或iOS设备上的应用程序。我知道链接是有效的,因为我单独试用了它们 我会用另一种方式来处理这个问题。我将在onload中执行此操作,而不是onclick检查源代码。因此: <a class="grey-text text-lighten-3" target="_blank" href="javascript:void(0);" onclick="document.write(yo

我试图将应用程序深入链接到我的网站,但我不知道如何让它进入电脑上的普通Instagram,然后进入Android或iOS设备上的应用程序。我知道链接是有效的,因为我单独试用了它们

我会用另一种方式来处理这个问题。我将在onload中执行此操作,而不是onclick检查源代码。因此:

<a class="grey-text text-lighten-3" target="_blank" href="javascript:void(0);" onclick="document.write(yourOS())">Instagram</a>



function yourOS() {
var ua = navigator.platform.toLowerCase();
if (ua.indexOf("android") != -1) {
    document.write(.link("instagram://user?username=owendunnigan"));
} else {
    .link("http://www.instagram.com/OwenDunnigan");
}
}

函数onLoad(){
var urlink=”http://www.instagram.com/OwenDunnigan";
变量urlink2=”http://www.twitter.com/OwenDunnigan";
变量urlLink3=”http://www.facebook.com/OwenDunnigan";
var ua=navigator.userAgent.toLowerCase();
var isAndroid=ua.indexOf(“安卓”)>-1;
if(isAndroid){
URL链接=”instagram://user?username=owendunnigan";
URL链接2=”twitter://user?username=owendunnigan";
URL链接3=”facebook://user?username=owendunnigan";
}
document.getElementById('yourLink').setAttribute('href',urlLink);
document.getElementById('yourLink2').setAttribute('href',urlLink2');
document.getElementById('yourLink3').setAttribute('href',urlLink3');
}
window.onload=onload;

您可以通过简单地扩展detect函数和添加case语句来添加其他系统。诚然,我没有像通常那样添加默认的case语句,但我首先调用了变量,因此我认为没有理由重置它们,但您可以用它做更多的事情。如果这不起作用,请告诉我。

因此,我试图再添加两个站点,我有一个Tumblr和twitter我想链接,所以我为所有链接添加了不同的id,将链接设置为不同的地址,但它只会为最后一个脚本(即twitter)设置属性。我是否需要更改某些内容,使其能够处理多个要到不同位置的属性?我编辑了上面的内容。有一种更优雅的方式,但为了快速和肮脏的方式,这就完成了任务。因此,对于iOS,我是否会将它切换到isiOS,其中显示iAndroid,然后将“android”切换到“iOS”?不,这不起作用,因为用户代理不是iOS,它比这更具体。我已经在上面的解决方案中添加了代码。
    <script>
    function onLoad(){
       var urlLink = "http://www.instagram.com/OwenDunnigan";
       var urlLink2 = "http://www.twitter.com/OwenDunnigan";
       var urlLink3 = "http://www.facebook.com/OwenDunnigan";
       var ua = navigator.userAgent.toLowerCase();
       var isAndroid = ua.indexOf("android") > -1;
       if(isAndroid) {
          urlLink = "instagram://user?username=owendunnigan";
          urlLink2 = "twitter://user?username=owendunnigan";
          urlLink3 = "facebook://user?username=owendunnigan";
       }
       document.getElementById('yourLink').setAttribute('href', urlLink);
       document.getElementById('yourLink2').setAttribute('href', urlLink2);
       document.getElementById('yourLink3').setAttribute('href', urlLink3);
    }
    window.onload = onLoad;
    </script>
    
    <a id="yourLink" class="grey-text text-lighten-3" target="_blank">Link</a>
<script>
        function getMobileOperatingSystem() {
           var userAgent = navigator.userAgent || navigator.vendor || window.opera;
           if( userAgent.match( /iPad/i ) || userAgent.match( /iPhone/i ) || userAgent.match( /iPod/i ) )
           {
              return 'iOS';
           }
           else if( userAgent.match( /Android/i ) )
           {
              return 'Android';
           }
           else
           {
              return 'unknown';
           }
        }

        function onLoad(){
           var urlLink1 = "http://www.instagram.com/OwenDunnigan";
           var urlLink2 = "http://www.twitter.com/OwenDunnigan";
           var urlLink3 = "http://www.facebook.com/OwenDunnigan";
           switch(getMobileOperatingSystem()){
               case 'Android':
                    urlLink1 = "instagram://user?username=owendunnigan";
                    urlLink2 = "twitter://user?username=owendunnigan";
                    urlLink3 = "facebook://user?username=owendunnigan";
                    break;
               case 'iOS':
                    urlLink1 = "instagram://user?username=owendunnigan";
                    urlLink2 = "twitter://user?username=owendunnigan";
                    urlLink3 = "facebook://user?username=owendunnigan";
                    break;
               default:
                    break;
            }
           document.getElementById('yourLink1').setAttribute('href', urlLink1);
           document.getElementById('yourLink2').setAttribute('href', urlLink2);
           document.getElementById('yourLink3').setAttribute('href', urlLink3);
        }
        window.onload = onLoad;
        </script>
        
        <a id="yourLink1" class="grey-text text-lighten-3" target="_blank">Link1</a>
        <a id="yourLink2" class="grey-text text-lighten-3" target="_blank">Link2</a>
        <a id="yourLink3" class="grey-text text-lighten-3" target="_blank">Link3</a>