重定向javascript在除Chrome之外的所有浏览器中失败

重定向javascript在除Chrome之外的所有浏览器中失败,javascript,internet-explorer,firefox,redirect,safari,Javascript,Internet Explorer,Firefox,Redirect,Safari,如果deeplink无法打开,尝试让网页管理重定向。如果deeplink打开,那太好了。如果在2秒钟内没有,我希望它进入我的网站 <script type="javascript"> setTimeout(function () { window.location = "http://mywebsite.com"; }, 25); window.location = "my://app"; </script> 我已经在Ch

如果deeplink无法打开,尝试让网页管理重定向。如果deeplink打开,那太好了。如果在2秒钟内没有,我希望它进入我的网站

     <script type="javascript">
     setTimeout(function () { window.location = "http://mywebsite.com"; }, 25);
     window.location = "my://app";    
     </script>
我已经在Chrome上测试过了,它可以工作,但是Firefox、IE和Safari都阻止了这个脚本


有人知道如何处理这个问题吗?

window.location.assignhttp:mywebsite.com可能是一个更好的选择,因为我相信调用该函数会触发一些额外的事件,从而使页面的生命周期易于管理

此外,除了Chrome之外,您还可以使用IFrame尝试启动协议处理程序。这将有助于防止页面变为空白和/或脚本因离开页面而停止

var createIframe = function(id, url, timeout, callback) {
    var iframe;
    iframe = document.createElement("iframe");
    iframe.hidden = true;
    iframe.id = id;
    iframe.src = url;

    var data = {}
    data.id = id;
    data.iframe = iframe;
    return setTimeout(callback, timeout, null, data);
}

createIframe('tempFrame', 'http://mywebsite.com', 25, function(err, data) {
  if(!err && data){
      var iframe = data.iframe;
      var id = data.id;
      iframe = document.getElementById(id);
      iframe.parent.removeChild(iframe);
  }
  else {
     console.log('There was an error createing and removeing the iframe');
  }
}

您是否尝试过window.location.href?那有用吗?是的,试过了。同样的错误也会发生。IE:阻止脚本,Firefox提供了一个错误,显示:地址不可理解。Chrome处理得很好。一开始你想要的地址是my://吗?