Javascript создать iFrame dom innerHTML

#javascript #dom

#javascript #dom

Вопрос:

выдает ошибку: неперехваченная ошибка типа: не удается прочитать свойство ‘body’ неопределенного

 var f = document.createElement("iframe");
f.id = "s";
f.contentWindow.document.body.innerHTML = "body";
  

как я могу это исправить?

Комментарии:

1. f не является iframe

2. что вы имеете в виду, конечно. Да, но эту проблему я снова вижу

Ответ №1:

чтобы добавить содержимое в iframe, вы должны пройти по атрибуту src, вот пример.

 var iframe = document.createElement('iframe'); 
var html = '<body>Foo</body>'; 
iframe.src = 'data:text/html;charset=utf-8,'   encodeURI(html); document.body.appendChild(iframe);
  

если ваш контент является url, вы помещаете его непосредственно в src, вот так

 iframe.src="https://www.w3schools.com"
  

Комментарии:

1. я не хочу использовать src, потому что я буду использовать много-много iframe. и я не могу их прочитать.

2. для каждого iframe вы указываете его src