Всем привет!
Пишу небольшой парсинг страничек в 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. Я в курсе про безопасность браузеров к доступам вложенных фреймов где нужны одинаковые домены, протоколы и т.д. с этим всё в порядке!