Можно ли "подделать" атрибут 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;