#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.