0

以下脚本在 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');

同样,所有这些都在我的 Fire Fox 机器上正常工作

4

2 回答 2

2

你也可以这样做

window.location.href = 'http://myKoolUrl';
于 2011-04-29T04:38:40.467 回答
0

也许 Chrome 会预先获取 URL 并知道它是伪造的,因此不会重定向。尝试使用有效的 URL 对我有用。

于 2012-01-05T12:09:03.560 回答