Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как попасть в <html> вложенный в <iframe>
 
 автор: Sfinks   (19.02.2012 в 12:17)   письмо автору
167.5 Кб
 
 

Во вложении показано к какому элементу нужно добраться.....
Получается только до <iframe>, а внутрь попасть не могу.
На код
var frAll = document.getElementsByTagName( 'iframe' )[0];
alert( frAll );
хром выдает [object HTMLIFrameElement], т.е. он там есть. Дальнейшие getElementsByTagName, All, Children и т.п. ничего не дают.
Содержимое iframe загружается из сети, но на момент выполнения скрипта оно уже полностью загружено.

   
 
 автор: ЯСА   (19.02.2012 в 12:46)   письмо автору
 
   для: 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);

   
 
 автор: Sfinks   (19.02.2012 в 15:45)   письмо автору
 
   для: ЯСА   (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.
Других вариантов нет?

   
 
 автор: ЯСА   (19.02.2012 в 15:52)   письмо автору
 
   для: Sfinks   (19.02.2012 в 15:45)
 

А это - проблема доступа.
Вы можете получить доступ только к документу с вашего же домена.
Все прочие документы - "чужие", доступ к любой информации о них запрещён.

Т.е. если ваша страница имеет URL, начинающийся с http://mydomen.com/, то доступными в ифрейме будут только страницы, имеющие адрес, начинающиеся с того же http://mydomen.com/

Загрузить в ифрейм страницу Яндекса или Гугля и "покопаться" в их содержимом НЕЛЬЗЯ.

   
 
 автор: Sfinks   (19.02.2012 в 16:07)   письмо автору
 
   для: ЯСА   (19.02.2012 в 15:52)
 

Не, это я все прочитал и перевел и осознал. Я имел ввиду "другого пути нет вообще"? Ну через там как-нибудь.... =)

   
 
 автор: Sfinks   (19.02.2012 в 16:15)   письмо автору
 
   для: ЯСА   (19.02.2012 в 15:52)
 

Просто я привык, что в PHP есть все, чтобы сделать то что мне надо. И о том, чтобы я этого не сделал, должен заботиться тот, с кем я это хочу сделать. Будь то яндекс, гугл или кто угодно. А инструмент, которым пользуюсь я (PHP) работает на меня. А тут наоборот. Интрумент которым я пользуюсь (JS) и позволяю пользоваться на моей странице внешнему серверу, работает против меня. Т.е. тот, внешний сайт, встраивает в мою страницу код, скрипты, при чем скрипты не только внутри своего iframe, но и в корневой <head> моей страницы, А я в код его страницы, но которая отображается в моей и с моего разрешения, попасть не могу. Как-то это не справедливо.

   
 
 автор: ЯСА   (19.02.2012 в 16:17)   письмо автору
 
   для: Sfinks   (19.02.2012 в 16:15)
 

http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=85119

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования