Ну, что, приступим? :)
Начнём с банального "Hello World" (о, когда-то меня жутко раздражало то, что вводные курсы, практически по любому языку, начинались с того, чтобы написать эту фразу). Ныне я сам стал толерантен к ней, и как видите, начинаю с этой же фразы. Ведь с чего же-то нужно было бы начинать. :)). Поехали.
Вот простейший код, который поприветствует вас. Создадим файл на диске, назовём 1.1.xul и наполним его таким содержанием:
<?xml version="1.0" encoding="windows-1251"?> <window title="Здравствуй" id="HelloWin" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <description value="Привет ! :)"/> </window>Посмотреть| Исходник
Перед тем, чтобы рассмотреть его - попробуем запустить его, для этого существует множество способов - вот один из них откройте в вашей Mozille или Firebird через меню File -> Open File..
В окне мы увидим. Привет ! :) . Это немножко не то, что я ожидал бы увидеть, поэтому пойдем другими путями. Вы можете запустить из командной строки
MozillaFirebird -chrome <путь к файлу>
Опция -chrome указывает Мозиле запустится в отдельном окне, в контексте chrome, без загрузки кода, который формирует сам внешний вид браузера - меню, контекстное меню, тул-бар и прочее..
В зависимости от операционной системы, это строка в вашем примере может выглядеть по-разному.
Если вы указываете абсолютный путь к файлу, не забывайте
добавлять file://
в начале пути. Это строка может выглядеть
так:
MozillaFirebird -chrome file://D:\xul.ru\tutorial\1.1.xul
Note: Кроме file://
- ссылки,
которая указывает на корень файловой системы существует resource://
- указывает
на корень папки, в которой установлена Mozilla/FireBird и chrome://
указывающая на подкаталог chrome в папке, где установлена
Mozilla или подкаталог chrome текущего профиля.Эти ссылки нам очень пригодятся в дальнейшем.
Рассмотрим ещё один, весьма очевидный способ, который будем неоднократно использовать в дальнейшем. В
JavaScript есть метод window.open()
.
Её формат:
window.open(ссылка, имя окна, опции);
В Mozill'е используется дополнительная опция - chrome которая делает тоже что и опция -chrome в командной строке.
Итак, создадим файл start.html, в том же каталоге, где вы поместили XUL файл, и содержащий этот код:
<a href="1.1.xul" onclick="window.open('1.1.xul','hi','chrome,resizeable'); return false;"> hi </a>
Запускаем его, жмём на ссылку и - наслаждаемся:
Посмотреть
Далее, на том, как мы
запускаем наши примеры, я не останавливаюсь, все примеры в этом руководстве запускаются именно этим
способом. Подробнее о window.open()
будет упомянуто в главе "Окна".
Теперь попробуем понять, что делает наш файл.
<?xml
version="1.0" encoding="windows-1251"?>
- Это стандартный заголовок любого xml файла,
а еще раз напоминаю, что xul - это ничто иное как xml. Эта строка обязана присутствовать в начале каждого XUL файла, как
тег <html> в HTML.
encoding="windows-1251"
- говорит о
том, что у нас кодировка нашего текста Windows-1251. Подробнее о кодировках мы
сказали во вступлении.
<window title=
"Здравствуй"id="HelloWin" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
Тэг <window> описывает создаваемое нами окно, это корневой элемент XUL-документа, тег
полностью аналогичен тегу <body> в html.
Его атрибуты:
title
- текст, вписываемый в заголовок окна.id
- идентификатор
окна. Хорошим тоном является введение идентификатора к любому элементу. Служит
неким уникальным именем, по которому можно будет обращаться
к нему из других частей программы. Должен состоять из английских букв, цифр и знака подчёркивания.
Не может начинаться с цифры.xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
-
строка описывает пространство имён нашего
документа. Обязательно должен присутствовать, именно этой строчкой мы описываем,
что все элементы принадлежат XUL. На самом деле ссылка фиктивна, Mozilla никогда не открывает данный файл в сети, а обрабатывает сама
На заметку: Подробнее об окнах расказанно в этом руководстве в главе Окна.
Полный список атрибутов <window>
можно посмотреть на сайте Mozdev.
Вот их краткий список:
height, width
- ширина и высотаorient
- ориентация элементов внутри по умолчанию, может принимать значение
horizontal и vertical screenX, screenY
- позиция окна на экране.sizemode
- состояние окна, может принимать значение: maximized, minimized, normal; по умолчанию установлен normal.
title
- заголовок окна<description value="Привет ! :)"/>
- Тэг <description> описывает блок текста,
располагаемый на странице. Имеет два различных формата - первый, такой как мы
использовали когда весь текст располагается внутри атрибута
value
, в этом случае Мозилла выводит текст одной строкой,
не пытаясь переносить. Также можно расположить текст между открывающим и
закрывающим
тэгом, тогда текст может содержать множество строк. Например, так:
<?xml version="1.0" encoding="windows-1251"?> <window title="Здравствуй" id="HelloWin" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <description> Раз Привет два Привет три Привет </description> </window>Посмотреть|Исходник
Другие атрибуты <description>
:
crop
- обрезка. Если текст слишком большой, чтобы поместится в отведённое место,
то текст обрезается в соответствии с атрибутом crop
:
disabled
- отключаем элемент, выглядит в зависимости от стиля, обычно серым цветом.
xml-stylesheet
,
script
,
label
, подробно пройдёмся по
button
.Хотите помочь? Вы нашли ошибку или хотите сделать комментарий - пишите. Я рад любой помощи.
©Yegor Turin (electroCat.ru) 2004 year. All Rights Reserved.