jQuery: получить содержимое модифицированного iframe - PullRequest
0 голосов
/ 17 сентября 2010

Я знаю, что подобные вопросы задавались ранее, но пока ни одно из решений не помогло мне.

$(document).ready(function(){
    alert($('#my_iframe').contents().html()); //displays null
});

У меня есть толстая коробка с фреймом. В iframe есть инструмент загрузки / обрезки изображений, и мне нужно извлечь URL загруженного изображения и использовать его в родительском элементе iframe.

Как мне это сделать? Это вообще возможно? Спасибо за вашу помощь!

Ответы [ 4 ]

3 голосов
/ 17 сентября 2010

Я думаю, что, возможно, ваша проблема в том, что iframe не удалось завершить загрузку своей страницы, прежде чем вы запросите его html. Имеющаяся у вас функция «готовность к документу» действительна только для родительского домена, а не для iframe.

Если у вас есть кнопка (может быть, кнопка закрытия для thinkbox) или любое другое событие, которое будет запущено после завершения загрузки iframe, используйте что-то вроде этого:

$("#my_iframe").contents().find("a.image_url").attr("href");

Я надеюсь, что это то, что вы искали!

1 голос
/ 23 октября 2011
$("#frameexample").contents()....

По соображениям безопасности это не работает в разных доменах.

1 голос
/ 17 сентября 2010

Mouhannad я прав, вам сначала нужна функция загрузки

 $(document).ready(function(){
   $('#my_iframe').load(function(){
      alert($('#my_iframe').contents().find("a.image_url").attr("href"));
    });
 });
0 голосов
/ 17 сентября 2010

Я не совсем понимаю, почему, но вызов $ (). Contents () для выбора iframe возвращает выбор, содержащий документ iframe.То есть это эквивалентно вызову $ (document).Вызов $ (). Html () для выбора документа всегда возвращает ноль.Вместо этого вам нужно использовать документ в качестве контекста для нового поиска:

var imageUrl = $('#my_iframe').contents().find('#image_url').attr('href');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...