Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jquery + iframe (https://javascript.ru/forum/jquery/3540-jquery-iframe.html)

Fidel 30.04.2009 16:59

jquery + iframe
 
задача такая.
есть страница, в ней есть iframe с содержим какого-то стороннего сайта.
необходимо как-то отслеживать:
1) двойной клик по слову в содержимом iframe
2) выделенный участок текста в содержимом iframe
и передаваь данные главной странице.

Получить какой-либо вообще доступ к содержимому iframe невозможно из-за соображений безопасности.

попробовал вместо iframe использовать:
<OBJECT data="http://yandex.ru/" id="frmMain" height="100%" width="100%" align="top"></OBJECT>
такая конструкция jQuery("#frmMain").contents().find("body") возращает объект, но ни каких полей ничего у него не могу получить, все undefined

как можно реализовать данную задачу?

magistr_bender 07.05.2009 14:56

боюсь, что никак .. из-за политики безопасности

d-_-b 07.05.2009 20:09

ммм.. ну, как вариант - получать содержимое iframe в блок, который накладывать сверху абсолютным позиционированием и в нём уже делать всё, что угодно

или сразу ajax'ом

http://docs.jquery.com/Traversing/contents

Fidel 08.05.2009 15:25

в общем было найдено такое решение, может кому пригодится:
в iframe в src прописываем путь к сервлету
<IFRAME name=frm id="frm" src="readpage?url=http://msn.com"></IFRAME>
сервлет берет url, коннектится к ниму и считывает содержимое сайта в строку.
затем находим в этой строке <head>, и внутри этого тега вставляем строку которая содержит ссылку на ваш скрипт
<script type="text/javascript" src="MY_HOST_URL/myOverlay.js"><script>
и затем в респонс отдаем отредактированную строку-контент.

funkster 16.06.2010 15:19

У меня похожая проблема!
Решение интересное, но столкнулся с проблемой - сервером установлены куки, а при таком решении серверу они не передаются и страница отображается неверно.

serg2012 12.10.2013 19:30

Цитата:

Сообщение от Fidel (Сообщение 18574)
в общем было найдено такое решение, может кому пригодится:
в iframe в src прописываем путь к сервлету
<IFRAME name=frm id="frm" src="readpage?url=http://msn.com"></IFRAME>
сервлет берет url, коннектится к ниму и считывает содержимое сайта в строку.
затем находим в этой строке <head>, и внутри этого тега вставляем строку которая содержит ссылку на ваш скрипт
<script type="text/javascript" src="MY_HOST_URL/myOverlay.js"><script>
и затем в респонс отдаем отредактированную строку-контент.

Никогда с этим не сталкивался, можете пример накидать ? Просто у меня сейчас ситуация, во frame срабатывает функция onclick="articleRow('bla','bla2')", но я хочу ее подменить своей функцией articleRow(alert('ДА')). Я так понял, что способом который вы указали это реально сделать ?. Спасибо.

Deff 12.10.2013 23:43

Цитата:

Сообщение от serg2012
Никогда с этим не сталкивался, можете пример накидать ? Просто у меня сейчас ситуация, во frame срабатывает функция onclick="articleRow('bla','bla2')",

Вряд ли - чел говорит о чтении контента фрейма через прокси и накладывание чисто контента, для взаимодействия на уровне вставки - замены нужен двухсторонний обмен прокси сервера со страницей фрейма


Часовой пояс GMT +3, время: 12:53.