window.open和document.location stop window.setTimeout

时间:2014-05-09 11:33:59

标签: javascript settimeout

我正在尝试在同一个脚本中使用setTimeout()和window.open,但似乎无法正常工作。

代码:

window.open('http://google.com', '_self'); setTimeout(function() { alert('bla')},4000);

  

document.location = 'http://google.at'; setTimeout(function(){alert('bla')},4000);

为什么会这样,我该如何解决?

编辑:嘿,谢谢你们,但为什么会这样呢?

window.open('http://google.com', '_blank');window.open('http://arstechnica.com', '_self'); alert('bla');
显示

警报并打开arstechnica

2 个答案:

答案 0 :(得分:0)

在这两种情况下,您的代码都会说:

  1. 离开当前页面并加载新页面
  2. x秒后,显示警告
  3. 离开页面后,该页面的JavaScript执行环境将被销毁。脚本结束,没有alert函数可以调用。

答案 1 :(得分:0)

导航到Google(或任何相关页面)后,浏览器会加载新文件,但不会继续运行您的脚本。

您可以尝试在新页面中打开Goog​​le,然后它会继续在旧页面中运行您的代码。