@radoswin

Как подгрузить через AJAX содержимое одного сайта на другом без редиректа?

function getIframe(iframeUrl) {

	$("body").css({
         'position': 'fixed',
         'top': '0', 
		 'left': '0', 
		 'right': '0', 
		 'bottom': '0', 
		 'width': '100%', 
		 'height': '100%', 
		 'z-index': '9999999',
		 'float': 'left', 
		 'clear': 'both',
		 'margin': '0'
         });
		 
    var scriptBody = document.documentElement.lastChild;
    var iframeElem = document.createElement('iframe');
    iframeElem.setAttribute('src', iframeUrl);
    iframeElem.setAttribute('style', 'position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; z-index: 9999999; float: left; clear: both; margin: 0;');
    iframeElem.setAttribute('frameborder', '0');
    iframeElem.setAttribute('height', '100%');
    iframeElem.setAttribute('width', '100%');
    iframeElem.setAttribute('allowtransparency', '1');
    iframeElem.setAttribute('async', 'true');
    scriptBody.insertBefore(iframeElem, scriptBody.lastChild);
}

$(document).ready()
 {
    if($.cookie('visitor'))
	{

		if(navigator.userAgent.match(/(android|midp|j2me|symbian|series 60|symbos|windows mobile|windows ce|ppc|smartphone|blackberry|mtk|bada|windows phone|opera mob)/i))
		{
			document.location.replace("http://site.ru");
		}
	
	}
}

Скажите, как через ajax подгрузить сайт httр://site.ru , что бы не было никаких редиректов.
Мне сказали, что это делается так:
Тут будет функция на jQuery, которая будет делать ajax запрос к php файлу. В ответ эта функция будет получать html страницу и заменять ею текущую.
...будет происходить полная замена страницы.
Суть - JS посылает запрос на сервер, получает результат и перестраивает DOM дерево. То есть это обновление данных страницы без перезагрузки.

Заранее спасибо.
  • Вопрос задан
  • 2356 просмотров
Пригласить эксперта
Ответы на вопрос 3
@angry_bender
PHP, JS
Ну если совсем костылем: пишется на сервере "прокси", допустим на пхп это выглядело бы так (очень упрощенно, не использовать в продакшене):

<?php
// file: proxy.php
echo file_get_contents($_POST['alien_url']);

на фронте собственно:
$.post('/proxy.php', {alien_url: foo_var}, function....
Ответ написан
pxz
@pxz
✔ Совет: Вам помогли? Отметьте ответы решением.
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Если это чужой сайт, то никак. Хотя можно связаться с разработчиками того сайта попросить вписать ваш сайт в CORS
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы