Javascript 通过脚本标记打开非http url

Javascript 通过脚本标记打开非http url,javascript,android,react-native,web,deep-linking,Javascript,Android,React Native,Web,Deep Linking,我有以下一组代码 <body> <script> function open() { var link = document.getElementById("myid").href windows.location.href = link; } document.addEventListener("DOMContentLoaded", function() { op

我有以下一组代码

<body>
  <script>
    function open() {
      var link = document.getElementById("myid").href
      windows.location.href = link;
    }

    document.addEventListener("DOMContentLoaded", function() { 
      open();
    });
  </script>
  <a id="myid" href=<%="myapp://myapp/"%>>Click here</a>
</body>

函数open(){
var link=document.getElementById(“myid”).href
windows.location.href=链接;
}
document.addEventListener(“DOMContentLoaded”,function(){
open();
});
预期的行为是“myapp”应用程序应在加载页面时自动打开。但用户必须手动单击“单击此处”才能打开应用程序

我也尝试了以下代码集,但没有帮助

<body>
  <script>
    function open() {
      var link = document.getElementById("myid").href
      window.open(link)
    }

    document.addEventListener("DOMContentLoaded", function() { 
      open();
    });
  </script>
  <a id="myid" href=<%="myapp://myapp/"%>>Click here</a>
</body>

函数open(){
var link=document.getElementById(“myid”).href
窗口。打开(链接)
}
document.addEventListener(“DOMContentLoaded”,function(){
open();
});
我认为浏览器有某种安全措施来防止通过脚本进行非HTTP导航

注意:

  • 我没有adblocker,也没有启用弹出框

  • 您在
    windows.location.href
    中有一个输入错误,它应该是
    window


    我已经测试了您的代码,重定向可以在没有输入错误的情况下正常工作,但是在某些情况下,这样的重定向可能会被浏览器阻止。

    使用起来不是更简单吗
    或只是
    window.location.href='
    而不包含
    a
    元素?