我正在使用以下行启动加载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
答案 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.
});