Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2016, 01:18
Новичок на форуме
Отправить личное сообщение для Alex241 Посмотреть профиль Найти все сообщения от Alex241
 
Регистрация: 28.01.2016
Сообщений: 1

Поиск всех родительских "iframe". JS/jQuery
Всем привет!
Пишу небольшой парсинг страничек в Chrome, буду рад любой помощи.
Для большего понимания и наглядности приведу не большой пример.

Имеем вот такое дерево к примеру:

<html>  // В документе содержится несколько фреймов
  <head></head>
  <body>

    <iframe>#dcument</iframe> 	// И в каждом фрейме тоже имеются свои фреймы, а в тех естественно свои ;)
    <iframe>#dcument</iframe> 
		
    <iframe>
      <html>
        <body>
          <iframe>#dcument</iframe> 				
          <iframe>#dcument</iframe> 				
          <iframe>
            #dcument
            <html>
              <body>
                <iframe>#dcument</iframe> 				
                <iframe>#dcument</iframe> 	
                <iframe>
                  #dcument
                  <html>
                    <body>
                      <div></div>
                      <div></div>
                      <div></div>
                    </body>
                  </html>
                </iframe> 
              </body>
            </html>
          </iframe>
        </body>
      </html>
    </iframe>    

  </body>
</html>


В переменную "all_div" я получаю все элементы "div" во всех последних фреймах:

var all_div = $("iframe").contents().find("iframe").contents().find("iframe").contents().find("div"); // это для наглядности

А вот теперь сама суть проблемы!
Мне необходимо получить все родительские "iframe" каждого найденного "div", например:
var par_ifrm = all_div.eq(0).parents("iframe");  // Но он ищет только в пределах документа в котором находится конкретный "div"

Я наивно полагал, что будет что-то такое же простое, как получение всех "div" элементов во вложенных фреймах с помощью метода "find().contents()", но в обратном направлении. Но как же я ошибался
Я пробовал ".parents()" и ".closest()", но они ищут только в пределах документа в котором находится конкретный "div" и как мне заставить хоть одного из них перейти за пределы документа я не разобрался, куда я только не пробовал лепить этот бедный "contents()" в надежде, что он поможет так же, как помог выше, но увы. И тут меня настигла грусть, печаль

Братцы выручайте, кто что знает, JS или jQuery, не принципиально!

Я уже начинаю думать, что в том направлении в котором я размышляю, способа и вовсе не существует и мне необходимо всех "iframe" предков записывать в массивы, ещё на стадии поисков "div" элементов при помощи ".filter()" например.

PS. Я в курсе про безопасность браузеров к доступам вложенных фреймов где нужны одинаковые домены, протоколы и т.д. с этим всё в порядке!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск