Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Получить содержимое iframe (https://forum.antichat.xyz/showthread.php?t=73163)

inlanger 09.06.2008 12:14

Получить содержимое iframe
 
Помогите, пожалуйста, с решением такой проблемы...
Есть страница с ифреймом. Необходимо получить и обработать "на лету" содержимое этого ифрейма. Именно то содержимое, которое сейчас на экране у пользователя(то есть к серверу обращаться нельзя скриптом нельзя, т.к. будет ip сервера, а не пользователя).

Единственное, что приходит в голову - вывести ифрейм на экран, с помощью javascript записать его содержимое в файл, в другом ифрейме через php получить содержимое файла и обработать...

В правильном направлении я мыслю? И как это реализовать(javascript часть)?

Заранее огромное спасибо!

LEE_ROY 09.06.2008 12:22

яваскрипт неможет работать с файлами )

inlanger 09.06.2008 12:34

А записать содержимое ифрейма в переменную и на лету забрать её php сможет?

.:EnoT:. 09.06.2008 12:44

а если так?
PHP код:

<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

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

NOmeR1 09.06.2008 13:57

На яве удалённый файл получить не возможно. То есть если ифрейм будет с другого сайта, содержимое получить не удастся. А все ссылки отпарсить можно и на Php, но коннект будет от сервера, а не от юзера.


Время: 09:40