Прочитать элемент в дочернем фрэйме

 
0
 
JavaScript
ava
Wolf1994 | 09.08.2007, 12:40
Два часа мучил Яндекс, но так и не нашёл ответа на свой вопрос.

Есть плавающий фрэйм:

document.getElementsByTagName('iframe')[2]

Хочу получить из него все элементы "DIV".

Сделал:

var t=document.getElementsByTagName('iframe')[2].document.getElementsByTagName('DIV');
alert(t.length);

Перепробовал множество вариантов, ничего не получилось.

Как это сделать правильно?
Comments (3)
ava
solenko | 09.08.2007, 12:47 #
Попробуйте посмотреть закрепленную тему "Окна и Фреймы" в этой ветке )
там есть функция, которая получает объект документа фрейма

function getFrameDocument (fram) {
var d = (fram.contentDocument) ? fram.contentDocument : ((fram.contentWindow) ? fram.contentWindow.document : null);
return d;
}
ava
Wolf1994 | 09.08.2007, 14:36 #

function getframedoc(f)
{
return (f.contentDocument)?f.contentDocument:((f.contentWindow)?f.contentWindow.document:null);
}
var f=getframedoc(document.getElementsByTagName('iframe')[2]);
var t=f.getElementsByTagName('DIV');
alert(t.length);

Выдаёт:
Цитата


Error: uncaught exception: Permission denied to get property HTMLDocument.getElementsByTagName


Значит ли это, что прочитать объект дочернего фрейма не возможно?

added later:
Цитата

  return (f.contentDocument)?f.contentDocument:((f.contentWindow)?f.contentWindow.document:null);


Кажется, это возвращает контент фрэйма, а не фрэйм, как объект, к элементам которого можно обратиться стандартным способом.
ava
Wolf1994 | 09.08.2007, 14:54 #
Нет, это объект, но всё равно не получается... Кажется, понял. Дочерний фрэйм содержит страницу другого сайта. Прошу прощения за глупый вопрос.
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit