Обзор компоненты редактирования DHTML
Компонента редактирования динамического HTML (DHTML) от Майкрософт позволяет Web-мастерам и разработчикам приложений добавлять в их странички и приложения возможности WYSIWYG (What You See Is What You Get – Что ты видишь, то и получишь) DHTML редактирования. Компонента редактирования использует COM модель (Component Object Model – Компонентная объектная модель) от Майкрософт для обеспечения доступа к сервисным возможностям редактирования, таким как форматирование HTML документов, поддержка таблиц, отмена (Undo) и повтор (Redo) действий, а также абсолютное позиционирование.
Компонента редактирования DHTML использует Майкрософт Internet Explorer для анализа и визуализации HTML, поэтому среда редактирования позволяет получить точное представление документа, так как если бы оно было в браузере. Web–мастера и разработчики приложений могут использовать любой язык программирования включая, Visual Basic®, Visual Basic Scripting Edition (VBScript), JScript™, C, C++ и Java для того чтобы получить доступ к сервисным возможностям редактирования и обеспечить им интерфейс пользователя.
Web-мастера и разработчики приложений также могут получить доступ к объектной модели документов (DOM – объектная модель документов) для добавления особых возможностей редактирования в их приложениях. Если Вы начинаете работу с готового HTML документа, компонента редактирования сама сохранит оригинальное форматирование документа (оригинальные пробелы, символы табуляции и пустой строки, а также тэги останутся). В дополнение к этом существует возможность редактирования страниц созданных с помощью технологии Active Server Pages (ASP) даже без изменения оригинальных скриптов созданных сервером.
Возможности компоненты редактирования DHTML
Компонент редактирования DHTML включает возможности редактирования, которые позволяют даже новичкам в разработке HTML создавать странички сложной структуры. Возможности редактирования включают:
-
Форматирование текста. Пользователь может выбирать форматирование символов, включая стиль шрифта, шрифт, размер и цвет. Параграфы могут быть выровняны и иметь отступ.
-
Редактирование. Компонент поддерживает многоуровневую систему откатов (undo) и повторов (redo). Пользователь может использовать стандартные функции "Копировать", "Вставить" и "Вырезать"
-
Возможности перетаскивания. Пользователь может перетаскивать любой объект, текст или элемент в любое место странички.
-
Абсолютное позиционирование. Элементы в документе могут иметь абсолютную позицию – это означает, что пользователь может использовать аттрибуты CSS (Cascading Style Sheet) для указания позиции элемента на страничке с использованием эквивалента x и y координат.
-
Поиск. Компонент может отображать стандартный диалог «Найти» и позволяет пользователю искать текст.
-
Гиперссылки. Пользователь может определять гиперссылки и закладки в тексте.
-
Изображения. Пользователь может добавлять изображения в текст.
-
Поддержка таблиц. Пользователь может добавлять таблицы, вставлять и удалять строки и столбцы.
-
Работа с файлами. Пользователь может открывать существующие .htm файлы с диска и по Web. Редактируемый документ также может быть сохранен и загружен из памяти, что позволяет создавать сообственные клиент-серверные приложения.
-
Контекстное меню. Компонент позволяет создавать контекстное меню, которое отображается пользователю по нажатию правой кнопки мыши.
-
Доступ к объектной модели DHTML. Компонент позволяет получить доступ к объектной модели документа (DOM - document object model) DHTML, которая раскрывает иерархию элементов документа HTML вплоть до каждого элемента и его содержимого.
Системные требования
Для работы с компонентой редактирования DHTML необходим Microsoft Internet Explorer 5. В действительности компонента является неотъемлемой частью Internet Explorer и если браузер уже установлен – тогда компонента доступна. Следует отметить, что некоторые бета версии Internet Explorer 5 не содержали компоненты редактирования DHTML, поэтому следует убедиться, что версия обновлена до релизной.
Использование Internet Explorer 5 в приложениях, которые будут распространяться
При создании приложений, которые будут распространяться другим пользователям, следует заметить, что пользователи также должны иметь установленный Internet Explorer 5. Если создается автономное приложение, например разработанные в среде Visual Basic, то можно тестировать устанавливаемую систему на наличие Internet Explorer 5 и в случае необходимости устанавливать Internet Explorer 5 как часть разработанного приложения.
Если использование Internet Explorer 5 невозможно.
Возможно 2 случая когда использование Internet Explorer 5 невозможно:
- Система или оборудование не готово для использования Internet Explorer 5. Приложение будет использоваться в системе где пользователь должен работать в Internet Explorer 4 вместо Internet Explorer 5.
-
При разработке Web-приложений. Если создается Web-приложение и пользователь должен иметь возможность получить доступ к приложению с разных типов браузеров.
В таких случаях не следует разрабатывать приложение с использованием версии компененты для Internet Explorer 5. Вместо этого следует использовать компоненту для Internet Explorer 4. Более ранние версии компоненты имеют почти полную функциональность по сравнению с текущей версией компоненты. Приложения разработанные для более ранней версии компоненты могут быть обновлены до текущей версии компоненты без изменения кода приложения.
Замечание. Компоненты редактирования DHTML более ранних версий могут работать с Internet Explorer 4; другие браузеры не поддерживаются.
Подключаемые и заголовочные файлы
Для использования компоненты редактирования DHTML требуются определенные подключаемые (include) и заголовочные (header) файлы. Например константы используються для определения команд для элемента управления редактирования DHTML (DHTML Editing control) описанных в подключамых файлах. Ниже приведены спецификации подключаемых и заголовочных файлов в зависимости от используемого языка программирования.
Язык программирования
|
Подключаемые и заголовочные файлы
|
C или С++
|
Файлы для использования компоненты редактирования DHTML как объекта документа:
Triedcid.h – Идентификаторы команд
Triedit.h – Обеспечивает доступ к интерфейсам управления TriEdit объекта документа
Triedit.idl – Исходный IDL файл, может быть включен в IDL файлы проекта если необходимо. Также обеспечивает более читабельное для человека описание интерфейсов управления чем у Triedit.h
triediid.h – Содержит CLSID и IID GUID для TriEdit объекта документа
Файлы для использования компоненты редактирования DHTML как элемента управления:
Dhtmled.h – Обеспечивает доступ к элементу управления редактирования DHTML
Dhtmled.idl – Исходный IDL файл, может быть включен в IDL файлы проекта если необходимо. Также обеспечивает более читабельное для человека описание интерфейсов управления чем у Dhtmled.h
Dhtmlediid.h – Содержит CLSID и IID GUID для элемента управления редактирования DHTML
|
JavaScript или Microsoft JavaScript
|
Dhtml.js – Идентификаторы команд и другие константы для использования компонента как элемента управления
|
Visual Basic или VBScript
|
Dhtml.vbs – Идентификаторы команд, коды ошибок и другие константы для использования компонента как элемента управления
При использовании Visual Basic нет нужды в использовании файла Dhtml.vbs для доступа к идентификаторам команд. Однако, этот файл удобно использовать как источник для создания модуля идентификации ошибок.
|
Получить файлы можно используя два способа:
-
Если Вы программист на Visual Basic или JavaScript рекомендуется загрузить пример компоненты редактирования DHTML из Microsoft SiteBuilder Gallery, в этом примере присутствуют все необходимые файлы и библиотеки.
-
Если Вы программист на С или С++ рекомендуется загрузить файлы с MSDN Online. Эти файлы являються частью файлов для Internet Explorer 5 и Win32. Вам так же будут необходимы Internet Explorer,а также библиотеки и заголовочные файлы NT в дополнение к файлам необходимым для компоненты, поэтому этот метод считается более эффективным.
-
Подробные инструкции приведены ниже.
Для того чтобы загрузить библиотеки и заголовочные файлы Internet Explorer 5
-
Перейдите на страничку: http://msdn.microsoft.com/downloads/samples/internet/wizard/default.asp.
На страничке Welcome to MSDN Online Web Workshop Tools & Samples Download Area внизу (в рамочке) выберите “Next”. В результате появиться список файлов доступных для загрузки.
Выберите нижеуказанное для загрузки:
- Headers and Libraries for Internet Explorer 5.0
- Win32 Headers and Libraries
Что нового в компоненте редактирования DHTML для Internet Explorer 5
Ниже приведен список итоговых изменений и улучшений сделаных для компоненты в Internet Explorer 5:
-
Компонента редактирования DHTML теперь включена в Microsoft Internet Explorer 5. Элемент управления компоненты редактирования DHTML (Dhtmled.ocx) и документ объект dll (Triedit.dll) являються частью ядра установки Internet Explorer 5 (включая минимальную установку). В результате не приходиться распространять отдельный компонент при распространении приложения.
-
Новая модель выбора. Теперь пользователь может работать с элементами используя более интуитивные способы, такие как активация элемента с помощь двойного клика.
-
Улучшенные методы сохранения пробелов, символов табуляции и пустой строки. В компоненте редактирования DHTML используется улучшенная обработка сохранения точного формата HTML файла во время фильтрации элементов, которым требуется специальная обработка. К таким элементам относяться скрипты и элементы управления создаваемые во время редактирования.
-
Новые глифы. Глифы используються для отметки невизуальных элементов. Они были улучшены для того чтобы иметь возможность показывать больше элементов и показывать их более четко.
-
Улучшенная поддержка кодовых страниц. Компонент редактирования DHTML теперь использует автоматическое распознавание кодовых страниц от Internet Explorer 5 и отображает страницы соответственно. Например, если документ закодирован в SJIS или EUC Japanese, и пользователь имеет установленный Japanese Language Pack, то документ будет корректно отображаться автоматически. Кодовая страница также может выбираться с помощью метатэга CHARSET или с помощью анализа текста. При создании новых документов используется кодовая страница системы по-умолчанию, при сохранении документа кодовая страница сохраняется.
-
Новая поддержка Unicode. Компонент редактирования DHTML поддерживает документы в формате Unicode. Формат Unicode будет распознан автоматически и будет отображаться и сохраняться корректно.
Совместимость между версиями
Если Вы разработали приложение с использованием более ранней версией компоненты, то оно совместимо с текущей версией компоненты и не надо вносить никакие изменения в код программы. (По сравнению с более ранней версией были внесены незначительные изменения в интерфейс пользователя для документов, как было указано выше). Следует отметить, что для текущей версии компоненты необходим Internet Explorer 5 и каждый пользователь разработанного приложения также должен иметь установленный Internet Explorer 5.
Если пользователь использует приложение основанное на компоненте старой версии и произвел обновление Internet Explorer 4 на Internet Explorer 5, то процесс установки Internet Explorer 5 заменит dhtmled.ocx и triedit.dll. Если пользователь удаляет Internet Explorer будет произведен откат до старых версий этих файлов.
Разработка приложений с использованием версии компоненты для Internet Explorer 5 и последующая работа этих приложений в системе с установленным Internet Explorer 4 не поддерживается. Если Вы не уверены, что в дальнейшем Ваше приложение будет использоваться с Internet Explorer 5, следует разрабатывать приложение с версией компоненты для Internet Explorer 4. Эта версия компоненты доступна для загрузки как отдельное SDK, которое содержит полную документацию и примеры. Следует удостовериться, что SDK загружается для системы на которой установлен Internet Explorer 4, а не Internet Explorer 5.
Типы компоненты редактирования DHTML
Компонента редактирования DHTML доступна в двух методах использования:
-
Компонента редактирования DHTML как объект документа. Если Вы разрабатываете приложения на С или С++, то можете использовать интерфейсы, которые открыты для использования OLE (Object Linking and Embedding) компонентой для создания и управления DHTML компонентой. Этот метод обеспечивает низкоуровневый контроль над средой редактирования, но требует хороших навыков в программировании с OLE интерфейсами. Для более подробной информации смотрите Document Object API Reference.
-
Компонента редактирования DHTML как элемент управления. ActiveX версия компоненты имеет множество высокоуровневых возможностей и может быть использована в средах разработки таких как Visual Basic, Visual C++™ и Visual J++™.
В обоих случаях компонента обеспечивает среду редактирования по умолчанию. Пользователь может вводить текст в компоненту, которая автоматически преобразует текст в формате WYSIWYG и отображает соответственно.
Компонента поддерживает большое количество форматов и возможностей редактирования, которые, как правило, представлены в виде свойств; методов или команд, которые могут быть выполнены над самой компонентой или выбранными элементами внутри нее. Обычно, необходимо только создать интерфейс пользователя, чтобы обеспечить пользователю доступ к возможностям редактирования.
Редактирование и просмотр документов
Компонента редактирования DHTML поддерживает 2 режима работы с документом: режим редактирования и режим просмотра. Оба режима отображают содержимое тэга " " документа, но есть различия в том как документ выглядит в этих режимах и в том как пользователь может взаимодействовать с документом.
Переключение между режимом редактирования и просмотра:
- Если компонента используется как объект документа, то для переключения следует выполнять команды IDM_TRIED_EDITMODE IDM_TRIED_BROWSEMODE. Если компонента используется как элемент управления следует изменить значение свойства BrowseMode.
Различия между режимом редактирования и просмотра:
-
В режиме редактирования клики мышкой и нажатия клавиш расцениваться как действия редактирования, в режиме просмотра как действия навигации по страничке.
-
В режиме редактирования не выполняются скрипты, в режиме просмотра – выполняются.
- В режиме редактирования не работают ссылки, бегущие строки и скрипты.
Когда элемент управления находится в режиме просмотра, то клик на ссылке запустит новый экземпляр Internet Explorer.
-
В режиме редактирования
области и таблицы по желанию могут отображаться с рамкой, если они уже ее не имеют. Рамка режима редактирования не будет отображаться в режиме просмотра.
-
В режиме редактирования определенные типы невидимых элементов, такие как скрипты, могут быть по желанию отображаться в виде глифов для отметки их расположения в документе. Глифы не отображаються в режиме просмотра.
-
Элементы управления , которые обычно невидимы, когда документ просматривается в браузере (такие как design-time controls), отображаются в режиме редактирования.
В режиме просмотра документ не может быть непосредственно изменен. Однако, есть возможность программно манипулировать документом используя объектную модель DHTML, доступную через IHTMLDocument2 интерфейс в объекте документа или свойство DOM элемента управления компоненты.
Если используется элемент управления компоненты редактирования DHTML, то все методы применимые к документу, такие как LoadDocument и NewDocument, будут работать.
Большинство свойств элемента управления редактирования DHTML доступны в обоих режимах просмотра и редактирования. Для большинства свойств при установке значения в одном режиме, оно будет сохранено при переходе в другой режим. Однако, установка значения в некоторых экземплярах, таких как свойство ShowDetails, не будет иметь эффекта в режиме режиме просмотра. Документация для каждого свойства отражает в каком из режимов он доступен, в режиме редактирования или режиме просмотра, а также применяется ли это свойство в режиме просмотра.
Безопасность браузера и компоненты редактирования DHTML
Для того чтобы использовать элемент управления компоненты редактирования DHTML в защищенных Web приложения, компонента содержит 2 версии элемента управления ActiveX: одна из них помечена “safe for scripting”(защищенная версия), другая – нет.
Защищенная версия как правило используется в открытых основаных на Web приложениях. Версия разработана таким образом, чтобы используемый компонент никоим образом не подвергал опасности систему пользователя, независимо какие бы свойства не были установлены или вызваны методы или обработаны события. Это означает, что элемент управления не может писать на диск пользователя или в реестр, вызывать другой объект с более высоким уровнем безопасности (таким как апплет) или использовать память или любые системные ресурсы, которые находятся вне браузера. Элемент управления также ограничен так, что может открывать только те документы, которые расположены в том же домене, что и Web страница хоста. Элемент управления также не может открывать документы на локальном диске. Наконец, защищенная версия также не поддерживает перенаправление сервером URL’ов.
Незащищенная версия не имеет таких мер безопасности. Она разработана для использования в стационарных приложениях, где уровень безопасности ниже чем в Web-приложениях. Чаще этот элемент управления используется с не сетевыми приложениями, как правило они создаются на Microsoft Visual Basic или Microsoft Visual C++.
При разработке приложения следует внимательно отнестись к выбору версии компоненты, которая будет использована, следует внимательно обдумать все возможности, которые необходимы для разрабатываемого приложения и как будет использовано приложение и как к нему будет осуществляться доступ. Рекомендуется такде провести всесторонее тестирование для того чтобы убедиться, что версия, которую вы выбрали работает именно так как ожидалось.
Для согласования со стандартами Web приложений защищенная версия компоненты не поддерживает прямое чтение и запись на диск, также не поддерживает печать. Ниже приведен список возможностей, которые не доступны в защищенной версии:
- Метод LoadDocument
- Метод SaveDocument
- Метод PrintDocument
- Свойство BrowseMode
В дополнение к этому метод LoadURL поддерживает только протоколы HTTP и FTP, что позволяет пользователю загружать страницы, если они находятся в том же домене, что и страница хост.
Остальные возможности защищенной версии такие же.
Распространение приложений, которые используют компоненту редактирования DHTML
Описываемая версия компоненты редактирования является частью Microsoft Internet Explorer 5, который включает как объект документа так и элемент управления компоненты редактирования. При распространении Ваше приложения нет необходимости включать в поставку компоненту редактирования, поскольку она является системной компонентой на компьютере пользователя.
Проверка наличия Internet Explorer 5 в приложениях.
Если Вы разработали приложение, которое не базируется на Web, то Ваша программа установки должна проверить установлен ли уже Internet Explorer 5 на компьютере пользователя. Одним из способов является проверка реестра пользователя. Для этого следует открыть ключ:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
В этом ключе находиться значение Version, которое содержит строку с информацией о версии Internet Explorer в следующем формате:
<major>.<minor>.<build number>.<subbuildnumber>
Ваша программа установки должна получить старшую цифру версии (major) и убедиться в том, что эта цифра 5 или больше. Следует отметить, что Вы работаете со строкой, несмотря на то, что она отображает число.
Источник: http://msdn.microsoft.com
Статья на Wikipedia: http://ru.wikipedia.org
|