2013-05-16 2 views
1

У меня есть функция, которая изменяет содержимое iframe (например, меняет URL-адрес изображений). В настоящее время я привязываю функцию к iFrame's load. Что-то вроде:Событие jquery, как только изменяется содержимое iframe

$('iframe#frame').load(function() { }); 

Проблема заключается в том, когда я запускаю это и изменить атрибут фрейма src, функция работает после загружаются все элементы, а затем изменяет его. Я хочу иметь возможность запускать код , как только содержимое HTML iFrame загружается, чтобы предотвратить дополнительное время загрузки. Есть ли способ добиться этого?

ответ

2

Попробуйте

$.get('https://google.com', function(data){ 
     var doc = $frame[0].documentElement; 
     doc.open(); 
     doc.write(data); 
     doc.close(); 
     $frame.trigger('ijustchangedthesrc'); 
    }, 'HTML'); 

позже

$('iframe#frame').on('ijustchangedthesrc', function(){}); 

Дайте вашему IFrame не SRC, чтобы начать с.

+0

Nope! Пробовал, не работает. Он запускается до изменения HTML, поэтому я не могу получить доступ к HTML внутри iframe. –

+0

Можете ли вы разместить код, загружающий iframe? – Fresheyeball

+0

Это просто, я просто установил 'src' iframe. '$ frame.attr ('src', 'https://google.com');' –

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