Почему исходный код iframe отличается от исходного кода файла?

#javascript #html #iframe #save #blazor

Вопрос:

Я хочу загрузить файл в iframe, а затем сохранить его в файл. Прямо сейчас я просто пытаюсь использовать javascript, но предпочел бы использовать Blazor. Может быть, у него есть более новые способы сделать это?

В любом случае, исходный код, похоже, немного изменился по сравнению с файлом, но я не хочу этого, так как хочу сохранить его точно так же, как исходный код. Например, вот некоторый код в файле, загружаемом во фрейм:

 lt;!DOCTYPE htmlgt; lt;!--[if lt IE 9]gt; lt;html class="no-js lt-ie9" lang="en" dir="ltr"gt; lt;![endif]--gt; lt;!--[if gt IE 8]gt;lt;!--gt; lt;html class="no-js" lang="en" dir="ltr"gt; lt;!--lt;![endif]--gt; lt;htmlgt;  lt;headgt;  

…и если я загружу outerHTML в текстовую область, чтобы посмотреть, что будет сохранено, это просто:

 lt;htmlgt;lt;headgt;  

Итак, есть ли способ получить исходный код из iframe точно так, как он есть в исходном файле? Кстати, вот как я в настоящее время получаю источник из фрейма в текстовую область:

 lt;a href="#" onclick="getIframeContent('myI');"gt;  Get the content of Iframe lt;/agt;  lt;br /gt;  lt;textarea id="txtarea" style="width:100%;height:300px"gt;lt;/textareagt; lt;brgt;  lt;iframe id="myI" src="myPage.html" style="width: 100%; height: 100vh;"gt;lt;/iframegt;   lt;scriptgt;  function getIframeContent(myI) {  var frameObj = document.getElementById(myI);  var frameContent = frameObj.contentWindow.document.documentElement.outerHTML;  txtarea.value = frameContent;  }  lt;/scriptgt;  

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

1. Да, я бы выбросил iframes, ими больше никто не пользуется.

2. что такое альтернативный / лучший способ?

3. Сделайте часть содержимого страницы правильной.

4. Но функциональность заключается в том, чтобы иметь возможность редактировать загруженные страницы. Таким образом, на главной странице в разметке будет кнопка «Сохранить», затем рамка или что-то еще со страницей, которую они хотят отредактировать с помощью WYSIWYG

5. Вы должны быть в состоянии захватить все, что вы хотите сохранить, поместив это в a lt;divgt; . Для этого вам не нужен iframe.