ФорумПрограммированиеJavaScript → JQuery: как добыть содержимое iframe?

JQuery: как добыть содержимое iframe?

  • m15

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz Март 10, 2009, 3:18 д.п.

    есть iframe id="myifr" src="http://sport-express.ru"
    ( урл может быть любой иной, но внутри которого точно должны быть другие id )

    есть тестовый код на jQuery который работает
    alert ( $( '#myifr' ).attr('id') );
    и который не работает
    alert ( $( '#seengmenu' ).attr('id') );

    вопрос:
    кто-нибудь может помочь добыть содержимое, например, #seengmenu из iframe?

    P.S. это теоретическая задача для умных людей по типу "а можно ли…" и
    на вопрос "зачем" не отвечает.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Март 10, 2009, 3:39 д.п., спустя 21 минуту 8 секунд

    эээ, а в доке жкверевской ты смотреть не пробовал ?
    там кажется это есть
    что типа $(#element_id).html() , но я не уверен, пойди и почитай доку.
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Март 10, 2009, 4:29 д.п., спустя 49 минут 56 секунд

    m15, можно попробовать $( '#myifr body' ) но наверное не выйдет
    а можно попробовать

    document.getElementById('myifr').contentWindow.document.body
  • m15

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz Март 10, 2009, 4:40 д.п., спустя 11 минут 9 секунд

    друзья, мне не было идеи получать содержимое iframe - мне интересно содержимое одного из элементов внутри iframe :)
    в этом-то вся засада и состоит :)
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Март 10, 2009, 4:51 д.п., спустя 10 минут 57 секунд

    document.getElementById('myifr').contentWindow.document.getElementById('seengmenu')
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Март 10, 2009, 5:28 д.п., спустя 37 минут 20 секунд

    Мля, так и знал, что мне придется отвечать. Вот и посылай людей в пыху …


    jQuery(document).ready(function()
    {
    alert( jQuery('#seengmenu', frames['myifr'].document).attr('id') );
    });
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Март 10, 2009, 5:33 д.п., спустя 4 минуты 16 секунд

    AlexB, тупа всех слил, ок!
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz Март 10, 2009, 5:34 д.п., спустя 1 минуту 44 секунды

    так и думал, что тут АлехБ замешан!
    все умрут, а я изумруд
  • m15

    Сообщения: 14 Репутация: N Группа: Кто попало

    Spritz Март 10, 2009, 6:38 д.п., спустя 1 час 3 минуты 58 секунд

    всем спасибо!

    исследование завершено: на JQuery это делается благодаря ПЫХЕ и АлексБ :)
  • ubica

    Сообщения: 530 Репутация: N Группа: Кто попало

    Spritz Март 10, 2009, 2:40 п.п., спустя 8 часов 2 минуты

    Вот вам официальный способ (http://docs.jquery.com/Traversing/contents):

    var id = $("#myifr").contents().find("#seengmenu").attr("id");

    у АлексБ слегка изъебский метод :)
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Март 10, 2009, 2:45 п.п., спустя 4 минуты 22 секунды

    ubica, ты кто такой? а? собираешься дуда перефлудить? да?
  • ubica

    Сообщения: 530 Репутация: N Группа: Кто попало

    Spritz Март 10, 2009, 3:03 п.п., спустя 17 минут 52 секунды


    ubica, ты кто такой? а? собираешься дуда перефлудить? да?

    Сообщений: д-о-х-у-я!
    это столько, что нельзя наверняка сказать: у Убийцы – больше, не так ли?)
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Март 11, 2009, 1:12 д.п., спустя 10 часов 9 минут 12 секунд

    ubica, я этот способ тоже нашел в доке, но почему-то в тестовом примере он у меня не сработал. Так что если сделаешь полностью готовый пример и приаттачишь буду рад глянуть. Но на самом деле само по себе обращение не сильно проще, а
    jQuery(document).ready(function()
    мне кажется надо в любом случае добавить т.к. фрейм может еще не загрузится на момент обращения.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Март 11, 2009, 1:27 д.п., спустя 14 минут 59 секунд

    CTAPbIu_MABP, не обижай убику
    Сапожник без сапог
  • ubica

    Сообщения: 530 Репутация: N Группа: Кто попало

    Spritz Март 11, 2009, 1:30 д.п., спустя 2 минуты 54 секунды


    ubica, я этот способ тоже нашел в доке, но почему-то в тестовом примере он у меня не сработал. Так что если сделаешь полностью готовый пример и приаттачишь буду рад глянуть. Но на самом деле само по себе обращение не сильно проще, а
    jQuery(document).ready(function()
    мне кажется надо в любом случае добавить т.к. фрейм может еще не загрузится на момент обращения.

    ready подразумевалось :)

    готовый пример?

    $().ready(function() {
     alert(1);
     var id = $("#myifr").contents().find("#seengmenu").attr("id");
    }

    :-D

Пожалуйста, авторизуйтесь, чтобы написать комментарий!