gifts2017

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

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

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

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

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

 

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

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

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

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

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

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

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

См. также

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

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

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

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

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


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


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