重定向到另一个URL后执行js代码

时间:2015-07-29 08:18:07

标签: javascript html redirect

我有一个页面如下,当用户点击Go href时,它会重定向到另一个页面。我想在页面完全加载后在重定向页面上进行一些JS操作,但是在执行此操作时遇到了麻烦。

我试图通过将所有JS操作语句放到setTimeout函数来实现这一点,但似乎在加载重定向页面后不会执行语句。在下面的示例中,未执行警报('在settimeout'中)。

你能告诉我怎么做到这一点吗?谢谢!



<!DOCTYPE html>
<html>
<body>
<a href="#" onclick="foo()">Go</a>

<script>
function foo(){
  setTimeout(function (){
    alert('in settimeout'); // **this will not be executed.**
    //js manipulations here ... 
  }, 5000);
  window.location.replace('http://onlineapp.ws');
}
</script>
</body>
</html>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:3)

在您破坏了运行的环境后,您无法运行JavaScript。离开页面会破坏该环境。

这样做的唯一方法是:

  • 在一个框架中加载新页面(新页面必须在the same origin上),然后使用frames API访问它。
  • 将一些信息传递给托管新页面的服务器(例如通过查询字符串)并读取该信息以确定JS是否应该运行