JavaScript window.location.replace适用于Firefox,但不适用IE或Chrome

JavaScript window.location.replace works in Firefox but not IE or Chrome

本文关键字:不适用 IE Chrome Firefox window location replace 适用于 JavaScript      更新时间:2023-09-26

下面的脚本在FireFox中工作得很好,但在IE或Chrome....中根本没有成功我已经为这个愚蠢的想法敲了好几个小时了....任何帮助都是感激的。

<script type="text/javascript">
 window.onunload = function exitConfirm() 
{
    var answer = confirm("Wait don't GO! I love you!");
    if (answer)
       {
          if(!self.closed)
          {
             window.open("http://myKoolUrl");
          }else{
             window.location.replace("http://myKoolUrl");
          }
       }
 }
</script>

确认工作良好的页面离开和浏览器/页面/标签关闭,但无论在IE/Chrome的选择没有重定向正在发生。帮我理解。

使用onbeforeunload:

更新一个更简单的例子
<body onbeforeunload=go();>
function go()
{
   if(confirm("Go to Google"))
   {
     window.location.href = "http://www.google.com";
   }
}
</body>

这也不能在IE/Chrome/Safari中工作,我使用了一些不同的机器来尝试消除某种设置错误。这只是一些疯狂的情况,我错过了一些明显的东西…??为什么重定向在这些浏览器中不做任何事情…只有我这样吗?我已经尝试了所有可爱的JS重定向:

location
location.href
location.reload
location.open
etc
甚至jQuery

$(location).attr('href','http://www.google.com');

所有这些在我的机器上都可以正常运行

你也可以这样做

window.location.href = 'http://myKoolUrl';

可能Chrome浏览器预先获取URL并知道它是伪造的,因此不会重定向。