Загрузка внешнего сайта с помощью файла PHP - PullRequest
1 голос
/ 02 мая 2011

Я использую JQuery для изменения размера iframe, чтобы он имел ту же высоту, что и его содержимое, он отлично работает, хотя работает только в том случае, если контент находится в одном домене.

Мне нужно отобразить внешнийсодержимое, поэтому я делаю iframe указывать на файл на моем сервере, который в свою очередь должен отображать внешний контент:

<iframe src="frame.php" scrolling="no" frameborder="0" noresize="noresize" style="width:100%; border: 1px solid black;">

Как мне сделать frame.php отображать содержимое внешнего домена?

Если вам нужна дополнительная информация, вот ответ о том, как это сделать (он объясняет все, кроме того, как отображать содержимое в php-файле): AutoHeight IFrame

Спасибо

Ответы [ 3 ]

1 голос
/ 02 мая 2011

То есть вы хотите получить содержимое внешнего сайта?

Это будет работать, но это нарушит макет, когда целевая страница имеет не абсолютные URL-адреса и относительные ссылки:

frame.php

<?php

echo file_get_contents($_GET['url']);

?>
0 голосов
/ 02 мая 2011

<?php echo file_get_contents( "http://example.com" );?>

Что-то подобное сделает

0 голосов
/ 02 мая 2011

К сожалению, php не подходит для этого.Чтобы определить высоту документа в iframe, необходимо выполнить вызов javascript из родительского документа (где находится элемент iframe) к документу, указанному в src в iframe.

В случае, если src iframe находится на вашем домене, у вас есть полное разрешение использовать DOM документа для получения высоты документа в соответствии с той же политикой происхождения.Когда вы загружаете документ из другого домена, у вас нет разрешения запрашивать высоту.Похоже, что автор ответа на ваш вопрос предлагает настроить прокси на вашем сайте, чтобы можно было обойти ту же политику происхождения.

Однако с этим возникнут другие проблемы (например, относительные ссылки напроксированная страница и т. д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...