Конструктор HTML на базе DOM на УФ

Основные возможности:
— разбор файла html или странички WWW на узлы HTML
— создание новой странички HTML
— создание/редактирование/перемещение узлов HTML
— сборка узлов HTML в готовый документ HTML
— активный узел в результирующем документе выделяется

В планах:
— интерактивное добавление свойств узлов
— заполнение полного списка возможных элементов HTML (см. ДобавитьСвойстваОбъектовHTML())
— совершенствование интерактивного добавления узлов по элементам (двойной клик по ДеревоЭлементов)
— прочие доработки которые влезут в голову

Недостатки:
Если страница содержит ошибки сценариев, сообщения об этом могут попортить нервы в процессе редактирования.

 

Более подробное описание:

Варианты компоновки:
1. Открытие существующего файла / URL и его разбор кнопкой «Разложить». При установке галочки «Сообщать о новых» новые элементы, обнаруженные в процессе разбора документа и отсустствующие в дереве «Элементы HTML», будут выведены в информационных сообщениях.
2. Создание нового документа по кнопке «Создать».

Редактирование может осуществлятсья:
1. В дереве «Узлы» через список выбора поля «Имя узла».
2. Двойным кликом по дереву «Элементы HTML» — в этом случае в дерево «Узлы» будут добавлены выбранные элементы.
Кроме того возможно редактирование текстового содержимого — это актуально например для элементов типа #text.

Дополнительные свойства выбранного узла можно редактировать в таблице «Свойства».

Компоновка узлов оуществляется по кнопке «Собрать». Если установлена галочка «Отображать собранный документ», то будет отображено дерево «Собранный HTML», предназначенный для просмотра полученного результата по модели DOM.
Кроме того, при активизации узла происходит его выделение в результирующей страничке html.

8 Comments

  1. fishca

    Спасибо, очень оригинальная идея! Лови плюсик 😉 Правда хотелось бы больше скриншотов для пояснения работы обработки

    Reply
  2. Mopo3

    Добавил более подробное описание.

    Reply
  3. Константин С.

    Эх народ чтож вы для больших экранов делаете)))))

    Куда мне с 14.0″ ноутом деваться. Форма не влазит)))

    Ну сделай чуть компактней она и на большем расползется по правильному.

    Reply
  4. Mopo3

    (3) это добро я лабал и тестировал на нетбуке 10.1″ 😉

    Reply
  5. Angry

    Первый осмотр:

    1) При открытии обработки

    {Форма.Форма.Форма(97)}: Значение не является значением объектного типа (Номер)

    НомерТекущегоУзла = Элементы.УзлыHTML.ТекущиеДанные.Номер;

    Нет проверки на загруженность документа.

    2) Совсем не очевидно, что в поле «Путь» можно писать URL.

    3) Будет очень здорово, если добавить краткую справку, о том что, где, для чего.

    Reply
  6. Angry

    Что за странный цикл?

     Пока Истина Цикл
    ЧтениеТекста = Новый ЧтениеТекста(ТекущийПуть,Кодировка);
    ТекстHTML = ЧтениеТекста.Прочитать();
    
    // Разложим
    ЧтениеHTML = Новый ЧтениеHTML;
    ЧтениеHTML.ОткрытьФайл(ТекущийПуть,Кодировка);
    
    ПостроительDOM = Новый ПостроительDOM;
    ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML);
    
    Если Не КодировкаПользователя Тогда
    Если Не ПустаяСтрока(Кодировка) Тогда
    Прервать;
    Иначе
    Кодировка = ДокументHTML.КодировкаИсточника;
    КонецЕсли;
    Иначе
    Прервать;
    КонецЕсли;
    КонецЦикла;

    Показать

    Когда из него по Вашему должно выходить?

    Reply
  7. Mopo3

    (5) спасибо, поправлю

    Reply
  8. STivO

    (6) Angry, это подобие do until, если можно так выразиться)

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *