HTML-приложения
HTML-приложения
Начиная с Internet Explorer 5.0 появилась возможность создавать HTML-приложения с любым пользовательским интерфейсом при помощи JavaScript или VBScript. Причем, созданное html-приложение будет запускаться вне браузера и ничем не будет отличаться от стандартных Windows-приложений.
Созданное приложение будет присутствовать на панели задач, иметь свое собственное окно, меню и значок. Плюс ко всему отпадает необходимость подтверждать использование ActiveX-компонентов (система защиты Internet Explorer предусматривает появление предупреждающих сообщений при попытке использования ActiveX в HTML-документах). Вы имеете полный контроль над системой, включая чтение/запись файлов, данных в реестре, управление процессами. Для создания такого приложения достаточно обычного Блокнота (или другой текстовый редактор).
Данные html-приложения должны иметь расширение *.hta. Простейший случай будет выглядеть так:
<HTML>
<HEAD>
<TITLE>Моя программа</TITLE>
<HTA:APPLICATION ID="MyFirstHTA"
APPLICATIONNAME="firstHTA"
BORDER=””
CAPTION="yes"
ICON="my.ico"
SHOWINTASKBAR="no"
SINGLEINSTANCE="yes"
SYSMENU="yes"
WINDOWSTATE="normal"
>
</HEAD>
<BODY BGCOLOR="ButtonFace" SCROLL="no">
</BODY>
</HTML>
Создайте подобный файл и запустите его. Как видите, появившееся окно ничем не напоминает браузер, однако вы можете использовать такую возможность, например, как Refresh документа (в нашем случае это главное окно будущего приложения) или изменение кодировки на лету. Для удаления полосы прокрутки мы воспользовались параметром SCROLL=no в тэге BODY, можно также воспользоваться специальными свойствами тэга HTA.
HTA-файлы обрабатывается программой mshta.exe, задача которой - обеспечить связь вашей программы с браузером.
Для того чтобы полностью использовать новые возможности, необходимо включить тэг HTA:APPLICATION между тэгами HEAD.
Как видно из приведенного примера, в тэге HTA:APPLICATION мы определяем специфические для HTA параметры. Рассмотрим их подробнее.
- ID - идентификатор, который позволяет обращаться к нему как к объекту в скриптах
Например: alert(MyFirstHTA.applicationName);
- APPLICATIONNAME - возвращает имя вашего приложения. Должно быть уникальным.
- BORDER - позволяет задать тип окантовки окна. Доступны следующие значения:
thick — толстая рамка, позволяющая изменять размер окна;
dialog — обычная рамка без возможности изменять размер;
none — рамка отсутствует;
thin — тонкая без возможности изменять размер;
Дополнительно указывается стиль рамки при помощи атрибута BORDERSTYLE, который может иметь следующие значения:
normal — обычная;
raised — приподнятая (3D);
complex — комбинация стилей raised и sunken;
static — может использоваться для окон, в которых не предусмотрен пользовательский ввод, - к примеру, для создания «флэш»-окон;
sunken — вдавленная (3D).
- CAPTION - определяет, будет ли окно отображаться с заголовком. Может принимать значения yes или no.
- ICON - путь к файлу, содержащему значок (*.ico), содержащий картинку 32х32 пикселя. Можно использовать в качестве иконки и обычный bmp-файл - главное, чтобы соблюдались размеры картинки.
- SHOWINTASKBAR - если это свойство имеет значение yes, окно будет сворачиваться в панель задач, а также отображаться на Панели задач
- SINGLEINSTANCE - позволяет разрешить запуск только одной копии вашего приложения; для того чтобы определить, запущенно ваше приложение во второй раз или нет, это свойство использует
- APPLICATIONNAME. Может принимать значения yes/no.
- SYSMENU - будет ли отображаться системное меню. WINDOWSTATE - определяет, в каком виде приложение будет стартовать.
Принимает следующие значения:
normal — обычное окно.
minimize — свернуто.
maximize — на весь экран.
- MAXIMIZEBUTTON и MINIMIZEBUTTON принимают значения yes/no и отвечают за отображение кнопок Maximize и Minimize соответственно в заголовке окна.
Помимо атрибутов, характеризующих внешний вид программы, может быть задана версия продукта — например, так: …VERSION=”5.0”…
Для управления полосой прокрутки в окне HTA есть целых два параметра: SCROLL со значениями yes/no/auto и SCROLLFLAT — yes/no.
Если у вас установлен IE5.5, то вы можете воспользоваться дополнительным атрибутом NAVIGABLE, который позволяет переход по ссылке в окне HTA.
Для управления текстом предусмотрен параметр SELECTION (yes/no).
В дополнение ко всему перечисленному, вы можете иметь доступ к параметрам командной строки посредством свойства commandLine. Внимание, это свойство не имеет HTML-синтаксиса и может быть доступно только из скриптов! Немаловажно заметить, что все перечисленные параметры во время выполнения доступны только для чтения.
Давайте приступим к написанию своего первого скриптового приложения - создадим простейший текстовый редактор.
<HTML>
<HEAD>
<TITLE>hta demonstration</TITLE>
<OBJECT ID=cmdlg CLASSID="clsid:F9043C85-F6F2-101A-A3C9-08002B2F49FB">
</OBJECT>
Этот объект обеспечивает нашему приложению возможность открывать и сохранять документы. Для того чтобы его использовать, на вашем компьютере должен находиться файл COMDLG32.OCX. Он может быть установлен вместе Visual Basic, например. Библиотека должна быть зарегистрирована при помощи regsvr32.exe(не может быть, чтобы у вас не было этой программы). Следующая командная строка выполняет все необходимые действия: regsvr32 COMDLG32.OCX.
</HEAD>
<BODY>
<INPUT ID=btnOpenFile TYPE=button VALUE="Open File" ONCLICK="fileOpen()">
<INPUT ID=btnSaveFile TYPE=button VALUE="Save File" ONCLICK="fileSave()">
Две кнопки, для открытия и сохранения файлов:
<BR>
<TEXTAREA id=txtArea rows=14 wrap=off cols=38
style="WIDTH: 500px; HEIGHT: 400px">
</TEXTAREA>
Текстовое поле, в котором мы будем редактировать текст.
<SCRIPT LANGUAGE=JavaScript>
var cdlOFNFileMustExist = 4096;
var cdlOFNHideReadOnly = 4;
Константы для работы с диалогами открытия и сохранения файлов:
CdlOFNFileMustExist — пользователь может вводить только имя существующего файла, в противном случае возникнет предупреждение.
CdlOFNHideReadOnly — прячет опцию Hide Only (открыть только для чтения).
var ForReading = 1;
var ForWriting = 2;
Константы для работы с файлами:
ForReading — файл открывается для чтения;
ForWriting — для записи в файл.
var fs = new ActiveXObject("Scripting.FileSystemObject");
Создаем объект для доступа к файловой системе:
cmdlg.CancelError = false;
cmdlg.Flags = cdlOFNFileMustExist + cdlOFNHideReadOnly;
cmdlg.FilterIndex = 1;
И настраиваем общие свойства для диалога открытия и сохранения:
function fileOpen()
{
cmdlg.DialogTitle = "Choose a file for editing"
Заголовок диалога:
cmdlg.Filter = "Text file (*.txt)|*.txt|"+"Web content files(*.htm;*.html;*.hta;*.asp)|*.htm;*.html;*.hta;*.asp";
Фильтр, для отображения групп файлов.
cmdlg.ShowOpen();
Вызываем диалог открытия и в случае если пользователь осуществил выбор пытаемся прочитать файл и отобразить его.
if (!(cmdlg.FileName == ""))
{
var txtStream = fs.OpenTextFile(cmdlg.FileName,ForReading,false);
txtArea.value = txtStream.ReadAll();
txtStream.Close();
}
}
function fileSave()
{
cmdlg.DialogTitle = "Save file as";
cmdlg.Filter = "Text file (*.txt)|*.txt|Custom type(*.*)|*.*";
cmdlg.ShowSave();
if (!(cmdlg.FileName == ""))
{
var txtStream = fs.OpenTextFile(cmdlg.FileName,ForWriting,true);
txtStream.Write(txtArea.value);
txtStream.Close();
}
}
</SCRIPT>
</BODY>
</HTML>
Естественно, дополнительными тэгами все вкусности скриптовых приложений не исчерпываются. Особую ценность представляет возможность повторного использования однажды написанного кода, создание универсальных компонентов, с которыми можно работать аналогично COM-компонентам. Дополнительную информацию, а также примеры и некоторую документацию вы можете найти по следующим адресам:
http://www.wshscripting.com/ — открытый исходный код и множество примеров скриптов для WSH (Windows Scripting Host).
Также стоит посетить http://www.serialscripter.com/, где помимо бесплатных HTA-приложений, сопровождающихся подробными описаниями, находится неплохая подборка ссылок на ресурсы, тем или иным образом связанные со скриптовым программированием.
Источник: http://www.mycomp.com.ua/
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Элемент HTML
Элемент HTML Корневым элементом документа HTML 4.01 является <HTML>. Это значит, что все остальные элементы содержатся внутри тегов <HTML> и </HTML>. Тем не менее в документах HTML 4.01 этот элемент не является обязательным, хотя W3C рекомендует включать его. В XHTML-документах наличие
Эволюция HTML
Эволюция HTML Главный прорыв в пятой версии HTML произошел в области компактизации кода, что крайне значимо с точки зрения повышения качества страниц и ускорения их загрузки. Упрощенный код – гарантия того, что можно будет без помех загружать и просматривать страницы, в
[service html]
[service html] Сервис html позволяет автоматически создавать статические HTML–страницы с отчетами о трафике и о работе программыrun time_intervalИнтервал времени, в формате задачи планировщика, через который будет выполняться генерация страниц. Рекомендуется ставить time_interval равным
html
html run time_intervalpath /path/to/html/rooturl url_stringservlet–url url_stringhtaccess { yes | no }client–pages { all | groups | none | group GG1 GG2 … }account–pages { all | none }display–top Ndisplay–health { yes | no
HTML
HTML Данная книга не претендует на роль справочника или подробного учебника по HTML. Если вы хотите изучить этот язык детально, то для этих целей существуют специальные издания (в магазинах среди других компьютерных книг они выделяются внушительным объемом). В нашем случае
19.6 Введение в HTML
19.6 Введение в HTML Документы WWW с гипертекстовыми ссылками записываются на языке разметки гипертекста (Hypertext Markup Language — HTML). Гипертекстовые файлы, совместимые с версиями 1 и 2 HTML, обычно имеют имена в формате:имя_файла.htmlФайл, содержащий расширенные возможности версии 3,
19.6.2 Теги HTML
19.6.2 Теги HTML Тег состоит из названия элемента и параметров, заключенных в угловые скобки (<...>). Ниже мы рассмотрим наиболее широко используемые теги. Символы тегов не чувствительны к регистру, но для постоянства мы будем записывать их только в верхнем
19.6.4 Заголовки HTML
19.6.4 Заголовки HTML Главы, разделы и подразделы документа начинаются заголовками. Можно использовать шесть уровней заголовков, и каждый будет выведен собственным форматом. Например, заголовки первого уровня обычно представлены жирным шрифтом большого размера:<Н1>Это
HTML
HTML http://www.w3.org/MarkUp/HTML Home Page – стандарты HTML.http://uts.cc.utexas.edu/%7Echurchh/htmlchek.htmlHTML syntax and cross-reference checker – проверка синтаксиса HTML.http://www.ics.uci.edu/pub/websoft/MOMspider/MOMspider – Web Site Maintenance Utility – утилита для проверки корректности ссылок, имеющихся на
2.1. HTML– страницы
2.1. HTML– страницы Допустим, вы имеете базу данных с продуктами. Бумажная реклама очень накладна. Но реклама в web это что-то новое и за приемлемую цену. Хорошо было бы иметь вашу базу опубликованной в Интернете, не так ли? Но организация своего собственного сайта на NT Web Server,
2.1.8. Расширенный HTML
2.1.8. Расширенный HTML Конечно, не всегда таблица содержит только текстовые поля. Иногда данные из таблице удобнее представлять в виде таблицы (grid или таблице подобной структуре). Для этого я должен ввести вас в расширенные HTML свойства: фреймы и
18.3.5. HTML
18.3.5. HTML С момента широкого распространения World Wide Web в начале 90-х годов прошлого века документация небольшой, но возрастающей части Unix-проектов пишется непосредственно на HTML. Проблема данного подхода заключается в том, что генерировать из HTML высококачественный
18.3.5. HTML
18.3.5. HTML С момента широкого распространения World Wide Web в начале 90-х годов прошлого века документация небольшой, но возрастающей части Unix-проектов пишется непосредственно на HTML. Проблема данного подхода заключается в том, что генерировать из HTML высококачественный