У меня есть код, который создает Iframe
и связывает его src
с пустым HTML-файлом info.html . Затем он загружает блок HTML-кода на страницу info.html .
Код работает хорошо, но браузер Chrome жалуется и выдает на консоль следующую ошибку:
[Violation] Avoid using document.write()
Мой код
let a = document.getElementById("box-content");
let c = document.createElement("iframe");
c.src = "info.html";
c.id = "cnd_iframe";
a.appendChild(c);
let iframe = document.getElementById(c.id);
let iDoc = iframe.contentDocument || iframe.contentWindow.document;
let i_content = `<!DOCTYPE html>
<html lang="en">
<head>
<title>Title</title>
</head>
<body>
<p>Demo Setup</p>
</body>
</html>`;
iDoc.open();
iDoc.write(i_content);
iDoc.close();
Мои попытки
Я планировал использовать appendChild
, но он не будет работать, потому что i_content
- это строка.
Я также попытался использовать Blob, как показано ниже, но он не будет работать, потому что он переопределит iframe src
var i_blob = new Blob([i_content], {type: 'text/html'});
var new_iframe = document.querySelector("iframe");
iframe.src = URL.createObjectURL(i_blob);
Так что я ищу лучший способ загрузить блок кода HTML в src iframe и, надеюсь, без ошибок. Буду признателен за любой вклад.