通过脚本标签打开非 http url

Open non http url through script tag

我有下面这组代码

<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>

预期的行为是 '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>

我认为浏览器有某种安全措施来防止通过脚本进行非 HTTP 导航。

注意:

  1. 我没有广告拦截器,也没有启用弹出窗口拦截。

windows.location.href你打错了,应该是window

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