Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь можно обсудить эту статью, а также любые проблемы программирования на различных макроязыках и в скриптовых средах)

HTML Приложения (HTA)

Понятие об HTA, специфические тэги

Microsoft Internet Explorer, начиная с версии 5, предоставляет возможность создавать HTML (HTA) приложения. Создать HTA-приложение можно, просто написав HTML-страницу и сохранив ее с расширением .hta. HTA объединяют в себе все возможности Internet Explorer - его объектную модель, HTML, каскадные листы стилей (CSS), скрипты и события, а также специфическую функциональность HTA. HTA не является объектом для ограничений безопасности, накладываемых на Web-страницы, и выполняется также, как любой исполняемый файл.

HTA-программы не могут быть подписаны непосредственно, однако могут быть установлены из различных инсталляционных форматов.

Расширение .hta указывает системе, как работать с приложением, а специальный тэг HTA:APPLICATION и его атрибуты указывают окну, как вести себя, будучи приложением. Этот тэг предоставляет набор атрибутов, управляющих свойствами окна приложения, не доступными в "обычном" DHTML. Большинство атрибутов доступны только для чтения, а их значения по умолчанию оптимизированы для среднего приложения. Тэг HTA:APPLICATION должен быть описан внутри тэга HEAD. Пример HTA-приложения:


   <HTML>
   <HEAD>
   <TITLE>Sample Application</TITLE>
   <HTA:APPLICATION
        ID="oHTA"
        APPLICATIONNAME="myApp"
        BORDER="thin"
        BORDERSTYLE="normal"
        CAPTION="yes"
        ICON=""
        MAXIMIZEBUTTON="yes"
        MINIMIZEBUTTON="yes"
        SHOWINTASKBAR="no"
        SINGLEINSTANCE="no"
        SYSMENU="yes"
        VERSION="1.0"
        WINDOWSTATE="maximize" />
   <SCRIPT>
   function window.onload(){
   sTempStr = "applicationName  = " + oHTA.applicationName + "\n" + 
              "border           = " + oHTA.border          + "\n" +
              "borderStyle      = " + oHTA.borderStyle     + "\n" + 
              "caption          = " + oHTA.caption         + "\n" +
              "commandLine      = " + oHTA.commandLine     + "\n" +
              "icon             = " + oHTA.icon            + "\n" +
              "maximizeButton   = " + oHTA.maximizeButton  + "\n" +
              "minimizeButton   = " + oHTA.minimizeButton  + "\n" + 
              "showInTaskBar    = " + oHTA.showInTaskbar   + "\n" +
              "singleInstance   = " + oHTA.singleInstance  + "\n" +  
              "sysMenu          = " + oHTA.sysMenu         + "\n" + 
              "version          = " + oHTA.version         + "\n" + 
              "windowState      = " + oHTA.windowState     + "\n" ;
   oPre.innerText = sTempStr;		  
   }
   </SCRIPT>
   </HEAD>
   <BODY SCROLL="no">
       <PRE ID=oPre> </PRE>
   </BODY>
   </HTML>

Элемент HTA:APPLICATION требует закрывающего тэга:

<HTA:APPLICATION ... > ... </HTA:APPLICATION>

Так как тэг элемента HTA:APPLICATION является пустым, он также может быть закрыт следующим образом (прямому слэшу должен предшествовать пробельный символ):

<HTA:APPLICATION ... />

Стандарт HTA добавляет атрибут APPLICATION для тэгов FRAME и IFRAME (в HTML этот атрибут игнорируется). Значение атрибута может быть установлено исходя из степени безопасности содержимого фрейма. Например, такой фрейм не будет "знать" об HTA, как о своём родительском окне (это значение по умолчанию):

<IFRAME SRC="filename.htm" APPLICATION="no">

Для вышеупомянутого фрейма "window.top" и "window.self" будут означать одно и тоже, а его содержимое будет подчиняться настройкам безопасности для его зоны. Такой фрейм может быть использован для внедрения HTML. В противоположность этому, следующий фрейм сможет передавать информацию в своё родительское окно:

<IFRAME SRC="filename.htm" APPLICATION="yes">

HTA не поддерживают объект AutoComplete в формах.

Атрибуты тэга HTA:APPLICATION

APPLICATIONNAME
BORDER
BORDERSTYLE
CAPTION
COMMANDLINE
CONTEXTMENU
ICON
INNERBORDER
MAXIMIZEBUTTON
MINIMIZEBUTTON
NAVIGABLE
SCROLL
SCROLLFLAT
SELECTION
SHOWINTASKBAR
SINGLEINSTANCE
SYSMENU
VERSION
WINDOWSTATE

APPLICATIONNAME

Атрибут - APPLICATIONNAME, свойство - applicationName. Содержит имя приложения. Это свойство доступно только для чтения и не имеет значения по умолчанию. Если свойство singleInstance установлено в true, значение applicationName автоматически проверяется перед запуском экземпляра приложения. Чтобы проверка была успешной, значение applicationName должно быть уникальным. Таким образом, значение свойства applicationName используется для идентификации единственности запущенного приложения, независимо от адреса URL, используемого для доступа к нему.

BORDER

Атрибут - BORDER, свойство - border. Содержит тип бордюра окна HTML приложения. Это свойство доступно только для чтения и имеет значение по умолчанию "thick". Свойство border влияет на толщину бордюра и действительно только для окон HTA, у которых есть панель заголовка и сам заголовок. Устанавливая border в "none", вы убираете панель заголовка, иконку программы, и кнопки максимизирования и минимизирования. Это свойство может быть использовано со свойством borderStyle. Возможные значения:

thick  По умолчанию. Толстый бордюр окна, плюс бордюр для изменения размера окна.
dialog  Бордюр диалогового окна.
none  Окно без бордюра.
thin  Тонкий бордюр окна с заголовком.

BORDERSTYLE

Атрибут - BORDERSTYLE, свойство - borderStyle. Содержит стиль бордюра клиентской области окна HTML приложения. Это свойство доступно только для чтения и имеет значение по умолчанию "normal". Свойство borderStyle устанавливает стиль для бордюра содержимого окна, в то время как свойство border контролирует бордюр окна приложения. Возможные значения:

normal  По умолчанию. Нормальный бордюр.
complex  Приподнятый и утопленный бордюр.
raised  Приподнятый 3-D бордюр.
static  3-D бордюр, обычно используемый для окон, не обрабатывающих ввод пользователя.
sunken  Утопленный 3-D бордюр.

CAPTION

Атрибут - CAPTION, свойство - caption. Определяет, будет ли в окне HTML приложения отображаться панель заголовка. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Заголовок приложения (title) отображается только тогда, когда свойство caption установлено в yes. Отключение свойства caption также отключит кнопки "Свернуть", "Развернуть" и программную иконку. В этом случае вы должны предоставить альтернативный способ выхода из приложения, например, кнопку, вызывающую метод close объекта window. Возможные значения:

yes  По умолчанию. Панель заголовка отображается.
no  Панель заголовка не отображается.

COMMANDLINE

Свойство - commandLine. Строка, которая содержит путь и параметры командной строки, которые использовались для запуска HTA-приложения. Это свойство доступно только для чтения и не имеет значения по умолчанию. Если HTA-приложение было запущено с использованием HTTP протокола, свойство commandLine содержит пустую строку.

CONTEXTMENU

Атрибут - CONTEXTMENU, свойство - contextMenu. Определяет, появляется ли контекстное меню при нажатии на правую кнопку мыши. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Возможные значения:

yes  По умолчанию. Контекстное меню появляется.
no  Контекстное меню не появляется.

ICON

Атрибут - ICON, свойство - icon. Определяет путь к файлу иконки, используемой в HTML приложении. Это свойство доступно только для чтения и имеет значение по умолчанию "System Application Icon". HTA использует системную иконку, если значение не определено. Атрибут ICON распознаёт стандартные файлы с расширением .ico, содержащие изображение размером 32x32 пиксела.

Кроме того, атрибут ICON успешно распознаёт первую иконку из файлов "*.exe", "*.icl" (библиотека иконок), "*.dll", и "*.ocx", например:

...
<HTA:APPLICATION
     ICON = "%ProgramFiles%\Microsoft Office\OFFICE11\WINWORD.EXE"
...

INNERBORDER

Атрибут - INNERBORDER, свойство - innerBorder. Определяет, отображается ли внутренняя 3-D граница. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Возможные значения:

yes  По умолчанию. Внутренняя 3-D граница отображается.
no  Внутренняя 3-D граница не отображается.

MAXIMIZEBUTTON

Атрибут - MAXIMIZEBUTTON, свойство - maximizeButton. Определяет, отображается ли кнопка "Развернуть" на панели заголовка окна HTML приложения. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Для того, чтобы отображались кнопки "Свернуть" и "Развернуть", окно должно иметь панель заголовка (атрибут caption). Возможные значения:

yes  По умолчанию. Кнопка "Развернуть" отображается.
no  Кнопка "Развернуть" не отображается.

MINIMIZEBUTTON

Атрибут - MINIMIZEBUTTON, свойство - minimizeButton. Определяет, отображается ли кнопка "Свернуть" на панели заголовка окна HTML приложения. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Для того, чтобы отображались кнопки "Свернуть" и "Развернуть", окно должно иметь панель заголовка (атрибут caption). Возможные значения:

yes  По умолчанию. Кнопка "Свернуть" отображается.
no  Кнопка "Свернуть" не отображается.

NAVIGABLE

Атрибут - NAVIGABLE, свойство - navigable. Определяет, в каком окне будут открываться загружаемые документы: в основном окне HTML приложения, или в новом окне. Это свойство доступно только для чтения и имеет значение по умолчанию "no". Возможные значения:

no  По умолчанию. Будут открываться в новых окнах.
yes  Будут открываться в основном окне.

SCROLL

Атрибут - SCROLL, свойство - scroll. Определяет, будут ли отображаться полосы прокрутки. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Установка значения свойства body.scroll равным "no" - это альтернативный способ предотвратить появление полос прокрутки. Возможные значения:

yes  По умолчанию. Полосы прокрутки отображаются.
no  Полосы прокрутки не отображаются.
auto  Полосы прокрутки появляются только тогда, когда содержимое документа не умещается в клиентской области окна.

SCROLLFLAT

Атрибут - SCROLLFLAT, свойство - scrollFlat. Определяет, в каком виде будут отображаться полосы прокрутки: в 3-х мерном, или в 2-х мерном виде. Это свойство доступно только для чтения и имеет значение по умолчанию "no". Возможные значения:

yes  Полосы прокрутки двухмерные.
no  По умолчанию. Полосы прокрутки трёхмерные.

SELECTION

Атрибут - SELECTION, свойство - selection. Определяет, может ли содержимое документа быть выбрано мышкой или с помощью клавиатуры. Присвоение атрибуту SELECTION значения "no" запрещает появление контекстного меню. В этом случае присвоение атрибуту CONTEXTMENU значения "yes" не произведёт никакого эффекта. Использование в документе редактируемых элементов переопределяет значение selection. Любой объект может быть выбран, когда значение свойства contentEditable установлено в true где угодно в HTML приложении. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Возможные значения:

yes  По умолчанию. Содержимое может быть выбрано.
no  Содержимое не может быть выбрано.

SHOWINTASKBAR

Атрибут - SHOWINTASKBAR, свойство - showInTaskBar. Определяет, будет ли HTML приложение появляться на панели задач Windows. Свойство showInTaskBar не влияет на появление приложения в списке приложений, который появляется, когда пользователь нажимает ALT+TAB. Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Возможные значения:

yes  По умолчанию. Приложение отображается на панели задач.
no  Приложение не отображается на панели задач.

SINGLEINSTANCE

Атрибут - SINGLEINSTANCE, свойство - showInTaskBar. Определяет, может ли быть запущенно больше одного экземпляра HTML приложения одновременно. Это свойство доступно только для чтения и имеет значение по умолчанию "no". Возможные значения:

yes  Только один экземпляр приложения может быть запущен.
no  По умолчанию. Может быть запущенно несколько экземпляров приложения одновременно.

SYSMENU

Атрибут - SYSMENU, свойство - sysmenu. Определяет, отображается ли системное меню в HTML приложении. Системное меню HTA обозначается программной иконкой в левом углу панели заголовка. Системное меню HTA показывает все команды, входящие в стандартное системное меню Windows, включая "Восстановить", "Переместить", "Размер", "Свернуть", "Развернуть", и "Закрыть". Это свойство доступно только для чтения и имеет значение по умолчанию "yes". Возможные значения:

yes  По умолчанию. Системное меню отображается в панели заголовка.
no  Системное меню не отображается в панели заголовка.

VERSION

Атрибут - VERSION, свойство - version. Определяет номер версии HTML приложения (строка). Это свойство доступно только для чтения и не имеет значения по умолчанию.

WINDOWSTATE

Атрибут - WINDOWSTATE, свойство - windowState. Определяет начальные размеры окна HTML приложения. Это свойство доступно только для чтения и имеет значение по умолчанию "normal". Возможные значения:

normal  По умолчанию. Размер окна - стандартный размер для Microsoft Internet Explorer.
minimize  Появляется только заголовок окна на панели задач.
maximize  Окно появляется развёрнутым во весь экран.

Составление - Людоговский Александр

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.com При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.