|
 167.5 Кб |
|
| Во вложении показано к какому элементу нужно добраться.....
Получается только до <iframe>, а внутрь попасть не могу.
На код
var frAll = document.getElementsByTagName( 'iframe' )[0];
alert( frAll );
| хром выдает [object HTMLIFrameElement], т.е. он там есть. Дальнейшие getElementsByTagName, All, Children и т.п. ничего не дают.
Содержимое iframe загружается из сети, но на момент выполнения скрипта оно уже полностью загружено. | |
|
|
|
|
|
|
|
для: Sfinks
(19.02.2012 в 12:17)
| | Тег <IFRAME> как ОБЪЕКТ принадлежит конкретному окну (window) и конкретному документу (document), в котором этот тег <IFRAME> прописан. Из этого конкретного окна/документа вы можете обратиться к тегу-ОБЪЕКТУ <IFRAME> разными способами, в том числе и через коллекцию getElementsByTagName ('iframe'). И у этого ОБЪЕКТА вы можете узнать (или изменить) его атрибуты/свойства. Такие как SRC, STYLE, NAME, ID...
ВНУТРИ тега <IFRAME> имеется другое окно (window) и другой документ (document). Из текущего окна (документа) вам надо обратиться к этому другому окну (документу). Делается это через коллекцию window.frames.
var current_window = window;
var current_document = current_window.document;
var teg_iframe = current_document.getElementsByTagName ('iframe') [0];
alert (teg_iframe.src);
var window_in_iframe = window.frames [0];
var document_in_iframe = window_in_iframe.document;
alert (document_in_iframe.body.innerHTML);
alert (document_in_iframe.getElementsByTagName ('div') [0].id);
|
| |
|
|
|
|
|
|
|
для: ЯСА
(19.02.2012 в 12:46)
| | Спасибо! Что-то подобное я и предполагал. Но теперь другая проблема! Ни в одном браузере не работает. Хром пишет ошибку:
Unsafe JavaScript attempt to access frame with URL http://p.site.com/тра-та-та from frame with URL http://local.site.info/. Domains, protocols and ports must match.
| Других вариантов нет? | |
|
|
|
|
|
|
|
для: Sfinks
(19.02.2012 в 15:45)
| | А это - проблема доступа.
Вы можете получить доступ только к документу с вашего же домена.
Все прочие документы - "чужие", доступ к любой информации о них запрещён.
Т.е. если ваша страница имеет URL, начинающийся с http://mydomen.com/, то доступными в ифрейме будут только страницы, имеющие адрес, начинающиеся с того же http://mydomen.com/
Загрузить в ифрейм страницу Яндекса или Гугля и "покопаться" в их содержимом НЕЛЬЗЯ. | |
|
|
|
|
|
|
|
для: ЯСА
(19.02.2012 в 15:52)
| | Не, это я все прочитал и перевел и осознал. Я имел ввиду "другого пути нет вообще"? Ну через там как-нибудь.... =) | |
|
|
|
|
|
|
|
для: ЯСА
(19.02.2012 в 15:52)
| | Просто я привык, что в PHP есть все, чтобы сделать то что мне надо. И о том, чтобы я этого не сделал, должен заботиться тот, с кем я это хочу сделать. Будь то яндекс, гугл или кто угодно. А инструмент, которым пользуюсь я (PHP) работает на меня. А тут наоборот. Интрумент которым я пользуюсь (JS) и позволяю пользоваться на моей странице внешнему серверу, работает против меня. Т.е. тот, внешний сайт, встраивает в мою страницу код, скрипты, при чем скрипты не только внутри своего iframe, но и в корневой <head> моей страницы, А я в код его страницы, но которая отображается в моей и с моего разрешения, попасть не могу. Как-то это не справедливо. | |
|
|
|
|