Мой вопрос о загрузке "HTML-код" правильный путь в iframe с помощью JavaScript - PullRequest
0 голосов
/ 28 июня 2019

У меня есть код, который создает 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 и, надеюсь, без ошибок. Буду признателен за любой вклад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...