Если ваш внешний контент не подается из того же домена, что и ваш основной веб-сайт, использовать AJAX для чего-то подобного не так просто, потому что вы столкнетесь с такой же политикой происхождения .
Одним из решений, позволяющих обойти ту же политику происхождения, было бы установить на сервере простой обратный прокси , который позволит браузеру использовать относительные пути для запросов AJAX, тогда как сервер будет действуя в качестве прокси для любого удаленного местоположения.
При использовании mod_proxy в Apache основной директивой конфигурации для настройки обратного прокси-сервера является ProxyPass
. Обычно используется следующим образом:
ProxyPass /external/ http://other-domain.com/
В этом случае браузер сможет запросить /external/index.html
как относительный URL, но сервер будет обслуживать это, выступая в качестве прокси для http://other-domain.com/index.html
.
Тогда в вашем JavaScript вы сможете использовать метод jQuery load()
следующим образом:
$('#your_div').load('external/index.html');
Другой вариант - использовать iframe и динамически регулировать его высоту с помощью JavaScript. Вы можете проверить следующие сообщения переполнения стека для дальнейшего чтения по этой теме:
Вы также можете рассмотреть полное решение на стороне сервера, как @ Yi Jiang , предложенное в комментарии выше. Вы можете вставить HTML-код с внешнего сайта на свой основной сайт, прежде чем отправлять его в браузер клиента.