Получить содержимое iframe

Discussion in 'PHP' started by inlanger, 9 Jun 2008.

  1. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Помогите, пожалуйста, с решением такой проблемы...
    Есть страница с ифреймом. Необходимо получить и обработать "на лету" содержимое этого ифрейма. Именно то содержимое, которое сейчас на экране у пользователя(то есть к серверу обращаться нельзя скриптом нельзя, т.к. будет ip сервера, а не пользователя).

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

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

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

    LEE_ROY Elder - Старейшина

    Joined:
    9 Nov 2006
    Messages:
    450
    Likes Received:
    188
    Reputations:
    26
    яваскрипт неможет работать с файлами )
     
  3. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    А записать содержимое ифрейма в переменную и на лету забрать её php сможет?
     
  4. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    а если так?
    PHP:
    <script type="text/javascript">
          /*получаем данные фрейма и пишем в переменную*/
          var frame = 'Превед';
          </script>
          <?php
          $frame 
    '<script>document.write(frame);</script>';
          echo 
    $frame;
          
    /*далее пишем в файл*/
          
    ?>
    Если данных во фрейме немного, то можно наприер получить js-ом данные фрейма, записать в куку, потом всё это дело прочитать средствами php и записать в файл.
    А вот как и-фрейм получить средствами js я хз, js оч плохо знаю)
     
  5. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    В твоём примере мы присвоим переменной $frame не содержимое фрейма, а текст <script>document.write(frame);</script>, а мне надо именно то, что у фрейма внутри.
     
  6. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Code:
    <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>
     
  7. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Ммм...и куда это? :)
    Как это мне поможет обработать содержимое ифрейма через php?
     
  8. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Задача была такая:
    При этом
    Если нельзя передать данные с клиента на сервер, то php не узнает, что обрабатывать.
    Нужна более точная формулировка задачи.
     
  9. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Нужно как-то обработать то, что у юзера на экране. в данный момент. Обработать - отпарсить все ссылки и вывести их.
    Не знаю, как можно ещё точнее поставить задачу...
     
  10. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    На яве удалённый файл получить не возможно. То есть если ифрейм будет с другого сайта, содержимое получить не удастся. А все ссылки отпарсить можно и на Php, но коннект будет от сервера, а не от юзера.
     
  11. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    То есть, это нереально вообще никак?
     
  12. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Если страница во фрейме с другого домена - нет.
    Если на том же, то можно и не парсить ничего - document.links.