Из документа будут удалены все элементы <frame> и их дочерние элементы. Значение применяется к конкретной операции из примера.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте серверную процедуру учебной обработки. Код без директив вставьте в её тело; отдельные реквизиты конфигурации не нужны.
Все XML, DOM и JSON этого урока создаются из собственных строк в памяти. Не открывайте полученный HTML в браузере и не подставляйте рабочие файлы.
Док = Новый ДокументHTML("Учебная очистка");
Узел = Док.СоздатьЭлемент("frame");
Док.ЭлементДокумента.ДобавитьДочерний(Узел);
Док.УдалитьПоКатегории(КатегорияСодержимогоHTML.FrameТеги);
Писатель = Новый ЗаписьHTML;
Писатель.УстановитьСтроку();
Запись = Новый ЗаписьDOM;
Запись.Записать(Док, Писатель);
ТекстHTML = Писатель.Закрыть();
Сообщить(ТекстHTML);Разбор по шагам
Создаётся самостоятельное дерево HTML, не поле просмотра и не браузерная вкладка.
В дерево добавлен узел, соответствующий критерию выбранной категории.
УдалитьПоКатегории меняет DOM; ЗаписьDOM сериализует полученное дерево в строку.
Как проверить результат
В результирующей строке отсутствует добавленный элемент frame.
Учебный заголовок документа сохраняется. JavaScript и загрузка fragment.html здесь не выполняются.
Ожидаемый результат
К конкретному HTML-узлу применён штатный критерий очистки.
На что обратить внимание
Одна категория не является полной защитой от всех опасных HTML-конструкций.
Этот опыт не даёт разрешения показывать произвольный пользовательский HTML; результат выводится только текстом.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.