JQUERY - 等待window.location.href完成

时间:2011-12-24 07:38:24

标签: jquery

我正在使用以下行启动加载iframe的main.php:

 window.location.href = '/main.php?token='+obj.token;

我需要等待iframe完成加载才能获得$ _GET令牌。

在此之后我想运行以下行从命令行中删除令牌:

  window.history.pushState("object or string", "Title", "/new-url");

目前,pushState总是快速触发,然后令牌丢失。 有没有办法延迟这个iframe完全加载? 不想使用计时器,因为它有时可能无效。

THX

3 个答案:

答案 0 :(得分:2)

您可以绑定到iframe的ready事件,如下所示:

$("#frametest").ready(function(){alert("loaded");});

其中frametest是您的iframe的ID。

这是一个jsfiddle: http://jsfiddle.net/fQB2H/1/

答案 1 :(得分:0)

你的iframe可以在body部分使用onload:

  

BODY onload =“on_load();”>

然后在页面底部创建一些js代码,它们将与主窗口进行通信,或者在加载页面时运行一些代码。

  <SCRIPT type="text/javascript">

  function on_load() {

      parent.functionName();

  }

答案 2 :(得分:-1)

你可以捕获load事件,当它和所有子元素完全加载时发送到元素,这样:

$('#myiframe').load(function() {
  // Handler for .load() called.
});