2013-06-02 5 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

Смежные вопросы