Заполнение IFRAME динамическим контентом из JavaScript

У меня есть IFRAME, который должен быть заполнен содержимым из JavaScript. Если бы контент был на сервере, мне нужно было только:

    function onIFrameFill() {
         myIframe.location.href = "HelloWorld.html";
     }

Но контент, который у меня есть, является HTML-страницей, созданной на клиенте и представленной как строка (я не очень сильно влияю на нее). Как я могу заполнить содержимое моего iframe программно?

Ответ 1

Я думаю, что вы ищете что-то вроде:

var iframeDoc = myIframe.contentWindow.document;
iframeDoc.open();
iframeDoc.write('hello world');
iframeDoc.close();

Ответ 2

Пробовал настройку .innerHTML, но это не работает. Решение Jeffery To работает. Просто хочу добавить, что myIframe.contentWindow может не работать в старых браузерах (прочитайте старые версии IE), чтобы вы могли сделать

var iFrameWindow = myIframe.contentWindow || myIframe.documentWindow;
var iFrameDoc = iFrameWindow.document;

затем используйте документы open(), write() и close(), как указано выше.

Ответ 3

Как насчет .innerHTML?

myIframe.innerHTML = "This is some HTML <b>text</b>";