2013-06-02 21 views
0

我正在尝试重新载入我的iframe,然后回滚到之前重新载入之前的位置。重新载入iFrame成功函数

var iframe_x=$('#the-frame').attr("xpos"); 
     var iframe_y=$('#the-frame').attr("ypos"); 
     $('#the-frame').attr("src", $('#the-frame').attr("src")); 
     document.getElementById('the-frame').contentWindow.scrollTo(iframe_x,iframe_y); 

问题是我们需要等待iFrame在滚动前完成加载。 attr是否有'成功'的功能?

我该如何做到这一点?

+0

如果相同的域,那么你有'document.getElementById('the-frame')。onload = function(){code here; }' –

回答

0

我想你可以使用jQuery的负载事件这样的:

http://api.jquery.com/load-event/

$('#the-frame').load(function() { /* do some stuff */ }); 

编辑 看起来像被弃用的1.8,因此它可能更有意义,使用

$('#the-frame').on('load', function() { /* do some stuff */ }); 

面向未来

+0

恩,对不起,你能告诉我如何将它集成到我的代码中吗? 我正在重新加载时,用户按下按钮。如果我使用这段代码,那么这是否意味着如果用户多次按下按钮,我将不断收到内存泄漏,因为我不断地绑定该事件? –

+0

除非你正在替换DOM元素本身,否则你只需要设置一次事件处理程序。 – AlexCuse