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

Опубликовал Никита (Mopo3) в раздел Программирование - Работа с интерфейсом

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

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

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

 

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

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

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

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

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

Скачать файлы

Наименование Файл Версия Размер
Конструктор HTML
.epf 17,84Kb
05.09.11
132
.epf 17,84Kb 132 Скачать

См. также

Комментарии
1. Сергей Рудаков (fishca) 1043 08.09.11 12:46 Сейчас в теме
Спасибо, очень оригинальная идея! Лови плюсик ;) Правда хотелось бы больше скриншотов для пояснения работы обработки
2. Никита (Mopo3) 266 08.09.11 15:24 Сейчас в теме
Добавил более подробное описание.
3. Константин Соболевский (Константин С.) 484 09.09.11 17:44 Сейчас в теме
Эх народ чтож вы для больших экранов делаете)))))
Куда мне с 14.0" ноутом деваться. Форма не влазит)))
Ну сделай чуть компактней она и на большем расползется по правильному.
4. Никита (Mopo3) 266 10.09.11 13:57 Сейчас в теме
(3) это добро я лабал и тестировал на нетбуке 10.1" ;)
5. Angry (Angry) 11 21.09.11 08:50 Сейчас в теме
Первый осмотр:
1) При открытии обработки

{Форма.Форма.Форма(97)}: Значение не является значением объектного типа (Номер)
НомерТекущегоУзла = Элементы.УзлыHTML.ТекущиеДанные.Номер;

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

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

3) Будет очень здорово, если добавить краткую справку, о том что, где, для чего.
6. Angry (Angry) 11 21.09.11 08:55 Сейчас в теме
Что за странный цикл?


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


Когда из него по Вашему должно выходить?
7. Никита (Mopo3) 266 06.01.12 12:13 Сейчас в теме
8. Дмитрий Иванов (STivO) 55 18.04.12 10:40 Сейчас в теме
(6) Angry, это подобие do until, если можно так выразиться)