Три способа создания HTML-документов на лету
Создание HTML-документов на лету, с или без JavaScript, иногда необходимо. Независимо от того, является ли целью отображение страницы подтверждения или фрейма, содержащего целую страницу, если документ достаточно прост, это может быть легко собрать и обслужить либо данными URL или JavaScript.
Но как ты это делаешь? Я уверен, что вы уже знаете, как добавить HTML в документ с помощью JavaScript, но создать целый документ HTML? Возможно, вас заинтересуют некоторые методы, которые я покажу ниже, первый из которых даже не нуждается в JavaScript!
Я покажу все вновь созданные документы в фреймах чтобы вы могли видеть их визуализированными. Тем не менее, вы можете использовать документы так, как считаете нужным. Например, они могут быть сохраняется в базе данных или же отправлено через веб-сервисы быть оказанным где-то еще.
1. URL данных
URL данных предоставить вам простой и эффективный метод размещать документы на веб-странице. Если вы не знакомы с ним, прочитайте нашу предыдущую статью о том, как они работают.
В основном, URL-адреса данных начать с данные:
Схема URL. Это сопровождается контент для обслуживания, перед которым вы можете при желании упомянуть тип носителя и кодирование контента.
Вы могли видеть изображения, поданные таким образом, где символы base64 указываются в качестве содержимого URL-адреса данных в соответствии с типом носителя.
Приведенный выше код отображает PNG-изображение человека с ноутбуком смайликов - вы можете проверить это в своем браузере.
Подобно тому, как это делается, URL-адреса данных также могут обслуживать документы HTML:
2. Интерфейс DOMImplementation
DOMImplementation
это интерфейс, который может создавать новые документы используя либо егоCreateDocument ()
(для XML) илиcreateHTMLDocument ()
метод, в зависимости от того, что вам нужно. Доступ к интерфейсу осуществляется с помощьюdocument.implementation
объект.
createHTMLDocument ()
метод принимает один необязательный параметр какой название нового документа.Вы можете добавить HTML во вновь созданный документ так же, как вы обычно делаете: с помощью таких методов, как
добавление ()
,AppendChild ()
, и другие методы JavaScript, связанные с DOM.window.onload = () => var doc = document.implementation.createHTMLDocument (); doc.body.append («Привет, мир!»); var iframeDoc = document.querySelector ('iframe'). contentDocument; iframeDoc.replaceChild (doc.documentElement, iframeDoc.documentElement);В приведенном выше коде новый документ HTML создан с использованием
createHTMLDocument ()
методDOMImplementation
интерфейс иПривет, мир!строка добавил к своему элементу тела.Затем, чтобы увидеть, как выглядит только что созданный документ при его рендеринге, я заменил элемент документа iframe (
iframeDoc.documentElement
) с элементом документа нового документа (doc.documentElement
) с использованиемreplaceChild ()
метод. Таким образом, вы будете быть в состоянии увидетьПривет, мир!строка из документа, который мы создали и добавили в iframe.3. DOMParser API
Как следует из названия,
DOMParser
API анализирует строки HTML / XML в документах DOM.Новый
DOMParser
экземпляр объекта может быть создан с помощью его конструктора,DomParser ()
. Экземпляр содержит метод с именемparseFromString ()
тот делает анализ после принятия двух аргументов: строка для анализа и тип документа для документа, который будет создан.window.onload = () => var parser = new DOMParser (); var doc = parser.parseFromString ('Привет, мир! ', "text / html"); doc.body.append («дополнительный текст»); var iframeDoc = document.querySelector ('iframe'). contentDocument; iframeDoc.replaceChild (doc.documentElement, iframeDoc.documentElement);В приведенном выше коде новый
DOMParser
пример анализирует строку HTML в документе DOM с использованиемparseFromString ()
метод.Затем, так же, как и в предыдущем фрагменте кода, элемент документа вновь созданного документа заменяет элемент документа в iframe. В результате HTML-код в созданном нами документе становится видимым в iframe..