Можно ли "подделать" атрибут src в iframe? - PullRequest
12 голосов
/ 12 августа 2010

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

Спасибо!

Ответы [ 3 ]

26 голосов
/ 12 августа 2010

Вы можете посмотреть 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.

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

Подробнее о URI данных и инструментах для конвертации см. На Mozilla Developer Central

1 голос
/ 12 августа 2010

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

0 голосов
/ 12 августа 2010

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

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

var yourcontent="<div>your stuff</div>";
window.frames['frame_name'].document.write=yourcontent;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...