Можно ли "подделать" атрибут src iframe?

Я пытаюсь добавить динамически iframe на веб-страницу с помощью JavaScript. Я хотел бы знать, возможно ли установить атрибут src для моего iframe без использования другого html файла через URL-адрес. Я имею в виду, есть ли способ "подделать" html для файла атрибута src с переменной JS, где я могу установить свой код (который сам JS)? Я бы использовал DOM createElement для создания iframe в jQuery.

Спасибо!

Ответ 1

Вы можете посмотреть data: URI.

<iframe src="data:text/html, .... URLencoded HTML data ....">

в качестве альтернативы

<iframe src="data:text/html;base64, .... base64 encoded HTML data ....">

Схема поддерживается IE >= 8 (источник MSDN), Firefox, Safari 3+ и Opera.

Он имеет разные пределы длины. Говорят, что Opera отрезала около 4 килобайт; Internet Explorer - 32 килобайта. Firefox не имеет явного ограничения длины.

Подробнее о URI данных и инструментах для преобразования в Центр разработчиков Mozilla

Ответ 2

Если вы полностью контролируете iframe на стороне клиента и никогда не должны запрашивать серверные запросы с этим iframe, упростить стиль div, чтобы отображаться как iframe (посмотрите в свойство overflow), где у вас будет гораздо более простой и более прямой контроль над содержимым DOM этого div.

Ответ 3

следующий код должен делать то, что вы хотите.

вы можете оставить атрибут src пустым.

var yourcontent="<div>your stuff</div>";
window.frames['frame_name'].document.write=yourcontent;