Элемент- апплет документа HTML.
Полное описание, параметры и ограничения
ЭлементАплетHTML (HTMLAppletElement)
ЭлементАплетHTML (HTMLAppletElement)
Доступен, начиная с версии 8.2.
Свойства:
Атрибуты (Attributes)
ДокументВладелец (OwnerDocument)
ДочерниеУзлы (ChildNodes)
ЗначениеУзла (NodeValue)
ИмяУзла (NodeName)
ЛокальноеИмя (LocalName)
ПервыйДочерний (FirstChild)
ПоследнийДочерний (LastChild)
ПредыдущийСоседний (PreviousSibling)
Префикс (Prefix)
РодительскийУзел (ParentNode)
СледующийСоседний (NextSibling)
ТекстовоеСодержимое (TextContent)
ТипУзла (NodeType)
ИмяЭлемента (TagName)
АльтернативныйТекст (Alt)
Архив (Archive)
БазаКода (CodeBase)
ВертикальныйОтступ (Vspace)
Выравнивание (Align)
Высота (Height)
ГоризонтальныйОтступ (Hspace)
Имя (Name)
Код (Code)
Объект (Object)
Ширина (Width)
Методы:
ВставитьПеред (InsertBefore)
ДобавитьДочерний (AppendChild)
ЕстьАтрибуты (HasAttributes)
ЕстьДочерниеУзлы (HasChildNodes)
ЗаменитьДочерний (ReplaceChild)
КлонироватьУзел (CloneNode)
Нормализовать (Normalize)
ПолучитьПользовательскиеДанные (GetUserData)
СравнитьПозициюВДокументе (CompareDocumentPosition)
УдалитьДочерний (RemoveChild)
УзелИдентичен (IsSameNode)
УзелРавен (IsEqualNode)
УстановитьПользовательскиеДанные (SetUserData)
ЕстьАтрибут (HasAttribute)
ПолучитьАтрибут (GetAttribute)
ПолучитьУзелАтрибута (GetAttributeNode)
ПолучитьЭлементыПоИмени (GetElementByTagName)
УдалитьАтрибут (RemoveAttribute)
УдалитьУзелАтрибута (RemoveAttributeNode)
УстановитьАтрибут (SetAttribute)
УстановитьАтрибутИдентификатор (SetIdAttribute)
УстановитьУзелАтрибута (SetAttributeNode)
УстановитьУзелАтрибутаИдентификатора (SetIdAttributeNode)
Описание:
Элемент- апплет документа HTML.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
См. также:
АтрибутHTML, свойство ЭлементВладелец
ДокументHTML, свойство ЭлементДокумента
ДокументHTML, метод СоздатьЭлемент
ЭлементТаблицаHTML, метод СоздатьЗаголовокТаблицы
ЭлементТаблицаHTML, метод СоздатьПодвалТаблицы
ЭлементТаблицаHTML, метод СоздатьЗаголовок
ЭлементТаблицаHTML, метод ВставитьСтроку
ЭлементСтрокаТаблицыHTML, метод ВставитьЯчейку
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Прикрепить собственный объект атрибута и снять его с элемента
Создаём новый АтрибутHTML для каждого элемента. Сравниваем объект по имени, затем удаляем тот же объект, а не похожее значение.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте учебную базу платформы 8.5.1.1343 и серверную процедуру учебного общего модуля. Каждый пример выполняйте отдельно.
Все данные заказа вымышлены и находятся в строке. ЧтениеHTML разбирает данные, но не является браузером: форма не отправляется, ссылки не открываются, картинки не скачиваются.
Никакие файлы, адреса сайтов, токены и документы информационной базы не нужны. Не заменяйте учебную строку произвольным внешним HTML без отдельной проверки безопасности.
Индексы коллекций начинаются с нуля. Перед обращением к найденному узлу проверяйте Неопределено; перед специальными свойствами элемента проверяйте его тип.
HTML = "<html><head><title>Учебный заказ</title><meta id='meta' name='description' content='Вымышленный заказ'></head>
|<body id='body'><p id='note'>Заказ существует только в памяти</p><pre id='code'>A-01: 3
|B-02: 1</pre>
|<form id='order' name='order' action='' method='get'>
|<input id='customer' name='customer' type='text' value='Учебный покупатель'>
|<input id='accepted' name='accepted' type='checkbox' value='yes'>
|<button id='preview' name='preview' type='button' value='preview'>Предпросмотр</button></form>
|<table id='items' summary='Книга и ручка'><caption id='caption'>Товары</caption><colgroup><col id='column'></colgroup><tbody>
|<tr id='book'><td id='book-name'>Книга</td><td>3</td></tr><tr id='pen'><td>Ручка</td><td>1</td></tr>
|</tbody></table><a id='help' name='help' href='#note'>Пояснение</a><img id='logo' alt='Учебная картинка без источника'>
|</body></html>";
Чтение = Новый ЧтениеHTML;
Чтение.УстановитьСтроку(HTML);
Попытка
Построитель = Новый ПостроительDOM;
Документ = Построитель.Прочитать(Чтение);
Исключение
Чтение.Закрыть();
ВызватьИсключение;
КонецПопытки;
Чтение.Закрыть();
Если ТипЗнч(Документ) <> Тип("ДокументHTML") Тогда
ВызватьИсключение "Ожидался ДокументHTML, а не XML-документ";
КонецЕсли;
Ожидаемые = Новый Соответствие;
Ожидаемые.Вставить("guide-section", "ЭлементHTML");
Ожидаемые.Вставить("div", "ЭлементБлокHTML");
Ожидаемые.Вставить("pre", "ЭлементФорматированногоТекстаHTML");
Ожидаемые.Вставить("form", "ЭлементФормаHTML");
Ожидаемые.Вставить("input", "ЭлементВводаHTML");
Ожидаемые.Вставить("button", "ЭлементКнопкаHTML");
Ожидаемые.Вставить("table", "ЭлементТаблицаHTML");
Ожидаемые.Вставить("tr", "ЭлементСтрокаТаблицыHTML");
Ожидаемые.Вставить("td", "ЭлементЯчейкаТаблицыHTML");
Ожидаемые.Вставить("col", "ЭлементКолонкаТаблицыHTML");
Ожидаемые.Вставить("caption", "ЭлементЗаголовокТаблицыHTML");
Ожидаемые.Вставить("a", "ЭлементЯкорьHTML");
Ожидаемые.Вставить("img", "ЭлементКартинкаHTML");
Ожидаемые.Вставить("meta", "ЭлементМетаHTML");
Ожидаемые.Вставить("link", "ЭлементСвязьHTML");
Ожидаемые.Вставить("head", "ЭлементЗаголовокHTML");
Ожидаемые.Вставить("html", "ЭлементРазметкаHTML");
Ожидаемые.Вставить("hr", "ЭлементЛинияHTML");
Ожидаемые.Вставить("script", "ЭлементСкриптHTML");
Ожидаемые.Вставить("iframe", "ЭлементПлавающийФреймHTML");
Ожидаемые.Вставить("frame", "ЭлементФреймHTML");
Ожидаемые.Вставить("frameset", "ЭлементНаборФреймовHTML");
Ожидаемые.Вставить("embed", "ЭлементВставкаHTML");
Ожидаемые.Вставить("object", "ЭлементОбъектHTML");
Ожидаемые.Вставить("applet", "ЭлементАплетHTML");
Для Каждого Пара Из Ожидаемые Цикл
Узел = Документ.СоздатьЭлемент(Пара.Ключ);
Если ТипЗнч(Узел) <> Тип(Пара.Значение) Тогда
ВызватьИсключение "Фактический тип фабрики отличается для " + Пара.Ключ;
КонецЕсли;
Атрибут = Документ.СоздатьАтрибут("data-guide");
Атрибут.Значение = "A-01";
Узел.УстановитьУзелАтрибута(Атрибут);
Полученный = Узел.ПолучитьУзелАтрибута("data-guide");
Если Полученный = Неопределено Тогда
ВызватьИсключение "Не получен прикреплённый атрибут";
КонецЕсли;
Сообщить(Полученный.УзелИдентичен(Атрибут));
Сообщить(Атрибут.ЭлементВладелец = Узел);
Узел.УдалитьУзелАтрибута(Атрибут);
Сообщить(Атрибут.ЭлементВладелец = Неопределено);
Сообщить(Не Узел.ЕстьАтрибут("data-guide"));
КонецЦикла;Разбор по шагам
Каждому элементу создаём свой атрибут: один объект атрибута не прикрепляем одновременно к разным владельцам.
После установки получаем узел по имени и проверяем идентичность, не только равенство строки A-01.
Удаляем прикреплённый объект и проверяем отсутствие владельца и записи в коллекции.
Как проверить результат
Четыре сравнения для каждого элемента Истина; прикреплённый атрибут снят.
Созданные элементы остаются отсоединёнными от документа заказа.
Ожидаемый результат
Разделены значение атрибута, объект атрибута и его владелец.
На что обратить внимание
Передавать в УдалитьУзелАтрибута атрибут другого элемента нельзя.
Значение атрибута не определяет его идентичность.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Пометить элементы учебным атрибутом и убрать пометку
Атрибут data-guide хранит номер урока. Для каждого вида элемента устанавливаем, читаем и удаляем именно его, не изменяя ссылки на ресурсы.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте учебную базу платформы 8.5.1.1343 и серверную процедуру учебного общего модуля. Каждый пример выполняйте отдельно.
Все данные заказа вымышлены и находятся в строке. ЧтениеHTML разбирает данные, но не является браузером: форма не отправляется, ссылки не открываются, картинки не скачиваются.
Никакие файлы, адреса сайтов, токены и документы информационной базы не нужны. Не заменяйте учебную строку произвольным внешним HTML без отдельной проверки безопасности.
Индексы коллекций начинаются с нуля. Перед обращением к найденному узлу проверяйте Неопределено; перед специальными свойствами элемента проверяйте его тип.
HTML = "<html><head><title>Учебный заказ</title><meta id='meta' name='description' content='Вымышленный заказ'></head>
|<body id='body'><p id='note'>Заказ существует только в памяти</p><pre id='code'>A-01: 3
|B-02: 1</pre>
|<form id='order' name='order' action='' method='get'>
|<input id='customer' name='customer' type='text' value='Учебный покупатель'>
|<input id='accepted' name='accepted' type='checkbox' value='yes'>
|<button id='preview' name='preview' type='button' value='preview'>Предпросмотр</button></form>
|<table id='items' summary='Книга и ручка'><caption id='caption'>Товары</caption><colgroup><col id='column'></colgroup><tbody>
|<tr id='book'><td id='book-name'>Книга</td><td>3</td></tr><tr id='pen'><td>Ручка</td><td>1</td></tr>
|</tbody></table><a id='help' name='help' href='#note'>Пояснение</a><img id='logo' alt='Учебная картинка без источника'>
|</body></html>";
Чтение = Новый ЧтениеHTML;
Чтение.УстановитьСтроку(HTML);
Попытка
Построитель = Новый ПостроительDOM;
Документ = Построитель.Прочитать(Чтение);
Исключение
Чтение.Закрыть();
ВызватьИсключение;
КонецПопытки;
Чтение.Закрыть();
Если ТипЗнч(Документ) <> Тип("ДокументHTML") Тогда
ВызватьИсключение "Ожидался ДокументHTML, а не XML-документ";
КонецЕсли;
Ожидаемые = Новый Соответствие;
Ожидаемые.Вставить("guide-section", "ЭлементHTML");
Ожидаемые.Вставить("div", "ЭлементБлокHTML");
Ожидаемые.Вставить("pre", "ЭлементФорматированногоТекстаHTML");
Ожидаемые.Вставить("form", "ЭлементФормаHTML");
Ожидаемые.Вставить("input", "ЭлементВводаHTML");
Ожидаемые.Вставить("button", "ЭлементКнопкаHTML");
Ожидаемые.Вставить("table", "ЭлементТаблицаHTML");
Ожидаемые.Вставить("tr", "ЭлементСтрокаТаблицыHTML");
Ожидаемые.Вставить("td", "ЭлементЯчейкаТаблицыHTML");
Ожидаемые.Вставить("col", "ЭлементКолонкаТаблицыHTML");
Ожидаемые.Вставить("caption", "ЭлементЗаголовокТаблицыHTML");
Ожидаемые.Вставить("a", "ЭлементЯкорьHTML");
Ожидаемые.Вставить("img", "ЭлементКартинкаHTML");
Ожидаемые.Вставить("meta", "ЭлементМетаHTML");
Ожидаемые.Вставить("link", "ЭлементСвязьHTML");
Ожидаемые.Вставить("head", "ЭлементЗаголовокHTML");
Ожидаемые.Вставить("html", "ЭлементРазметкаHTML");
Ожидаемые.Вставить("hr", "ЭлементЛинияHTML");
Ожидаемые.Вставить("script", "ЭлементСкриптHTML");
Ожидаемые.Вставить("iframe", "ЭлементПлавающийФреймHTML");
Ожидаемые.Вставить("frame", "ЭлементФреймHTML");
Ожидаемые.Вставить("frameset", "ЭлементНаборФреймовHTML");
Ожидаемые.Вставить("embed", "ЭлементВставкаHTML");
Ожидаемые.Вставить("object", "ЭлементОбъектHTML");
Ожидаемые.Вставить("applet", "ЭлементАплетHTML");
Для Каждого Пара Из Ожидаемые Цикл
Узел = Документ.СоздатьЭлемент(Пара.Ключ);
Если ТипЗнч(Узел) <> Тип(Пара.Значение) Тогда
ВызватьИсключение "Фактический тип фабрики отличается для " + Пара.Ключ;
КонецЕсли;
Узел.УстановитьАтрибут("data-guide", "A-01");
Сообщить(Узел.ЕстьАтрибут("data-guide"));
Сообщить(Узел.ПолучитьАтрибут("data-guide") = "A-01");
Атрибут = Узел.ПолучитьУзелАтрибута("data-guide");
Если Атрибут = Неопределено Тогда
ВызватьИсключение "Установленная учебная пометка не получена";
КонецЕсли;
Сообщить(Атрибут.ЭлементВладелец = Узел);
Узел.УдалитьАтрибут("data-guide");
Сообщить(Не Узел.ЕстьАтрибут("data-guide"));
Сообщить(Узел.ДочерниеУзлы.Количество() = 0);
КонецЦикла;Разбор по шагам
Служебное имя data-guide не является src, href, code или обработчиком события.
ПолучитьАтрибут возвращает строку значения; ПолучитьУзелАтрибута возвращает отдельный объект атрибута.
После удаления проверяем отсутствие пометки и сохранность пустой структуры элемента.
Как проверить результат
Для каждого из 25 элементов пять проверок Истина; пометка в итоге отсутствует.
Внутри элементов не появляются текстовые дети от установки строкового атрибута.
Ожидаемый результат
Показан полный жизненный цикл атрибута на конкретных типах элементов.
На что обратить внимание
Атрибут DOM и реквизит элемента управляемой формы — разные механизмы.
Нельзя переносить значение произвольного атрибута в число без проверки формата.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.