it-swarm.com.ru

Загрузите страницу внутри IFRAME, используя ajax

как насчет загрузки вашей страницы с помощью IFRAME? Я думал, если это возможно .. 

Пример, у меня есть этот iframe ниже.

<iframe id="iframe" width="1024" height="600" src="http://www.sample.com"></iframe>

Я хочу, чтобы страница www.sample.com загружалась внутри этого iframe, а не просто добавляла URL-адрес в атрибут src, вместо этого я получала данные текущей страницы с помощью ajax и загружала с помощью тега IFRAME. Я думаю об этом, потому что большую часть времени у меня большая проблема с кешем IFRAME.

Я тоже пробую эту вещь, но она не работает идеально с моей стороны.

<iframe id="iframe" width="1024" height="600" src="http://www.sample.com?random=1422841682605""></iframe>

random меняется каждый раз, когда я загружаю этот iframe.

Я хочу применить его к моему адаптивному инструменту, как на картинке ниже. Если вам нужен фактический вид нажмите здесь.

enter image description here

Спасибо, ребята, если есть идея.

6
Anthony Carbon

Вы по-прежнему можете использовать src, но укажите URL-адрес данных следующим образом:

src = 'data:text/html;charset=utf-8,' + 
    encodeURIComponent( // Escape for URL formatting
        '<!DOCTYPE html>'+
        '<html lang="en">'+
        '<body><h1>Another document!</h1></body>'+
        '</html>'
    );
4
c-smile

Убедитесь, что вы используете «http: //» перед ссылкой, например:

<iframe src="http://www.google.com"></iframe>
1
Mustafa A.

Если www.sample.com находится в том же домене, вы можете просто сделать это:

<div id = "targetDiv"></div>
<script>
$('document').ready(function() {
    $('#targetDiv').load('www.sample.com');
});
</script>

Хотя, если это тот же домен, вы, вероятно, используете .load('/');

1
sideroxylon

Вы можете изменить местоположение iframe с помощью Javascript несколькими различными способами.

var frame = document.getElementById("iframe");
frame.src = "http://www.sample.com";
frame.contentWindow.location = "http://www.sample.com";
frame.contentWindow.open("http://www.sample.com");

Конечно, вы должны быть очень осторожны с фреймами. Если iframe указывает на чужой домен (то есть: «Cross-Origin», то есть: НЕ тот же домен, на котором размещена главная веб-страница), вы нарушите политики безопасности браузера и выдадите ошибки, если попытаетесь манипулировать/читать много свойства.

Также обратите внимание, что изменяя атрибут src элемента iframe, iframe автоматически перемещается в новое местоположение. Однако если вы используете один из двух предложенных мною методов, атрибут src элемента iframe не изменится (даже если содержимое iframe указывает на новое местоположение).

Если вам нужно узнать местоположение iframe, вы можете попробовать:

iframe.contentWindow.location.href;

Однако, опять же, если iframe указывает на сайт, размещенный не в том же домене, это вызовет ошибку. Чтобы быть в безопасности, используйте блоки try {} catch (e) {}.

1
DRAB