Просмотр полной версии : Получить содержимое iframe
inlanger
09.06.2008, 12:14
Помогите, пожалуйста, с решением такой проблемы...
Есть страница с ифреймом. Необходимо получить и обработать "на лету" содержимое этого ифрейма. Именно то содержимое, которое сейчас на экране у пользователя(то есть к серверу обращаться нельзя скриптом нельзя, т.к. будет ip сервера, а не пользователя).
Единственное, что приходит в голову - вывести ифрейм на экран, с помощью javascript записать его содержимое в файл, в другом ифрейме через php получить содержимое файла и обработать...
В правильном направлении я мыслю? И как это реализовать(javascript часть)?
Заранее огромное спасибо!
яваскрипт неможет работать с файлами )
inlanger
09.06.2008, 12:34
А записать содержимое ифрейма в переменную и на лету забрать её php сможет?
.:EnoT:.
09.06.2008, 12:44
а если так?
<script type="text/javascript">
/*получаем данные фрейма и пишем в переменную*/
var frame = 'Превед';
</script>
<?php
$frame = '<script>document.write(frame);</script>';
echo $frame;
/*далее пишем в файл*/
?>
Если данных во фрейме немного, то можно наприер получить js-ом данные фрейма, записать в куку, потом всё это дело прочитать средствами php и записать в файл.
А вот как и-фрейм получить средствами js я хз, js оч плохо знаю)
inlanger
09.06.2008, 12:49
В твоём примере мы присвоим переменной $frame не содержимое фрейма, а текст <script>document.write(frame);</script>, а мне надо именно то, что у фрейма внутри.
astrologer
09.06.2008, 13:17
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript">
function display(node)
{
alert((new XMLSerializer()).serializeToString(node.document)) ;
};
</script>
</head>
<body>
<iframe src="/same-domain-page.html" onload="display(this)"></iframe>
</body>
</html>
inlanger
09.06.2008, 13:23
Ммм...и куда это? :)
Как это мне поможет обработать содержимое ифрейма через php?
astrologer
09.06.2008, 13:30
Задача была такая:Необходимо получить и обработать "на лету" содержимое этого ифреймаПри этомк серверу обращаться нельзя скриптомЕсли нельзя передать данные с клиента на сервер, то php не узнает, что обрабатывать.
Нужна более точная формулировка задачи.
inlanger
09.06.2008, 13:41
Нужно как-то обработать то, что у юзера на экране. в данный момент. Обработать - отпарсить все ссылки и вывести их.
Не знаю, как можно ещё точнее поставить задачу...
На яве удалённый файл получить не возможно. То есть если ифрейм будет с другого сайта, содержимое получить не удастся. А все ссылки отпарсить можно и на Php, но коннект будет от сервера, а не от юзера.
inlanger
09.06.2008, 14:00
То есть, это нереально вообще никак?
astrologer
09.06.2008, 14:13
Если страница во фрейме с другого домена - нет.
Если на том же, то можно и не парсить ничего - document.links.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot