Все примеры скриптов действуют только в MSIE 3.0 и выше!
Предисловие
Как это не прискорбно для ярых противников Microsoft, но именно эта компания способствовала широкому распространению Бейсика (вспомним Quick Basic). По моему опыту писать на нем было удобнее, чем на Turbo Bacic компании Borland, которая более известна по языку C++. Повсеместная «Виндуализация» PC компьютеров, вынудила к разработке версии Бейсика для Windows приложений. Таким клоном в 1991 году стал Visual Basic, позволяющий визуально создавать прикладные программы, довольно приличного уровня. Но все же, по моему мнению, из за простоты Visual Basic сдает свои позиции тем же Си и Java. С появлением всемирной сети Internet, и языка HTML стало возможным создание активных приложений на веб страницах. Единственным языком для этих целей был Java Script. Да, именно был. Когда свет увидел Microsoft Internet Explorer 3.0, в нем, помимо поддержки Java script появилась и поддержка Visual Basic Scripting Edition, или просто VBscript. Как известно, JavaScript был разработан Netscape и поначалу стал известен как LiveScript. После шумихи вокруг Java, Netscape переименовала его в JavaScript, когда получила лицензию от Sun. Microsoft самостоятельно разработала JScript для своего броузера, за что правда тоже не избежала разбирательств с Sun.
Кроме Java, MSIE3.0 (и выше), может еще и исполнять программы на VBScript. Netscape Navigator не поддерживает пока (надеюсь, что пока) VBScript, поэтому этот язык не очень широко применяется, а многим даже не известен. А жаль, человеку умеющему писать на обычном QB достаточно месяца, а то и меньше, чтобы перейти на VBscript и создавать красивые активные веб страницы, ни чем не уступающие страницам с JavaScript и даже во многим превосходящие их. Поэтому, если с надеждой смотреть в будущее, то изучить VBScript можно уже сейчас. В этой статье я попытаюсь рассказать основы VBScript, не вдаваясь в тонкости. Моя цель, только заинтересовать рядового пользователя и начинающих WebДизайнеров. Вот и все из истории:) Начнем.
Cравнение VBScript и JavaScript
Прежде чем начинать познавать VBScript, давайте сравним две одинаковые, простые программы на JS и VBS. Это будет полезным для тех, кто знает JavaScript (к коим я не отношусь:(. Суть программы: вводим текст в верхнее поле, нажимаем кнопку «Скопировать» и текст копируется в нижнее поле.
Java Script
VB Script
Поставим задачу, написать программу, которая бы случайным образом загадывала число от 1 до 100, и предлагала Вам его угадать. При неправильном предположении, программа должна выводить сообщение о том, больше загаданное число или меньше. Ведется подсчет попыток. В случае победы выводится поздравление.
Программа на обычном Бейсике:
Как видите, такая программа пошла бы даже на БК0010:) Я даже оставил ненавистные операторы GOTO (интересно, об них еще помнят?). Для тех кто не понимает, опишу алгоритм:
Код типичной страницы со скрипт программой будет выглядеть примерно так:
Итак, напишем программу реализующую заданные условия с помощью VBscript
Нажмите на кнопку «Загадать число» и угадайте его:)
КОД ПРОГРАММЫ:
При загрузке документа появится окошко с данной надписью и кнопкой ОК
Разумеется, данный пример Вы можете использовать только как шутку на ссылку «xxx», потому что нажать на нее невозможно:) Но если поменять alert «ссылка» на status=»Моя домашняя страница», то это сообщение появится в строке статуса.
Каков полный синтаксис операторов указывающих как «добраться» до данных в поле ввода?
x = top.имя_фрейма.document.имя_формы.имя_объекта_text_box.value Таким образом, можно добраться до любых данных в окне броузера, даже если они расположены в другом фрейме.
Подведем первые итоги. VBscript перенял от обычного Бейсика большинство операторов и функций (математических, преобразования данных и т.д.). Отличие выражается в специфических операторах ввода-вывода информации из окна броузера и возможных событиях, которые могут «случиться» при взаимодействии пользователя и страницы.
Справочная информация. Некоторые операторы и функции
Чтобы Вам было легче экспериментировать в написании скриптов, приведем основные операторы и функции VBscript. А то начнете писать PRINT «привет» или пытаться закончить цикл For оператором Next x 🙂
СИНТАКСИС
ПРИМЕР
ОПИСАНИЕ
Операторы работы с массивами.
Dim имя_массива (индексы)
dim a(10),b(20,30)
Объявление массива
Erase имя_массива
erase a
Очистка содержимого массива
переменная = значение
a=137 a=b c=»привет»
Присваивание
Set переменная = объект
set a=document.forma1
Присваивание переменной значени ссылки на объект.
‘ комментарии
‘ текст
Rem комментарии
rem текст
Операторы используемые в выражениях
Call имя_событие
Call but_onclick
Вызов подпрограммы
Do . Loop Until условие
Do a=a+1 Loop Until a>=5
Выполняет код хотя бы один раз, пока условие не будет истинным
Do . Loop While условие
Do a=a+1 Loop While a =5 a=a+1 Loop
Повторяет выполнение кода, пока условие не станет истинным
Do While условие . Loop
Do While a 1 Then alert»больше»
Выполнение кода при выполнении условия
Select Case X Case значение1 действие Case значение2 действие2 . End select
Select Case X Case 10 alert»x=10″ Case 20 alert»x=20″ End select
Выборочное выполнение кода при совпадении значения
While условие действие Wend
While a
Oбъявление функций и процедур
Как вызвать сценарий в VBscript
Веб страница с активным содержимым, всегда делится как бы на две части: Первая, это html код самой страницы содержащий необходимые элементы управления (ссылки, кнопки, формы для ввода информации и т.д.), и Вторая, сценарии на скрипте, которые начинают работать при различных событиях происходящих с элементами управления. Это можно назвать главной отличительной особенностью программ для веб страниц, от обычных исполняемых приложений.
Рассмотрим основные приемы вызова сценариев, или процедур.
Сценарий вызываемый неявно:
Такой способ, по моему мнению, самый простой. Указываем имя оператором name=»имя» в теге характерризующим элемент управления, это же «имя» пишем в вызываемой процедуре и через знак подчеркивания пишем событие, которое должно произойти для исполнения сценария.
Вызов сценария определяемый в элементе управления:
Такой способ обрадует приверженцев Java Script. Среди его преимуществ, перед первым методом можно отметить то, что один и тот же сценарий можно вызывать из разных элементов управления.
Автоматический вызов сценария:
Код программы в этом случае выполнится сразу после загрузки документа.
Вызов из другой процедуры:
Все способы, кроме автоматического вызова сценария, чисто визуально будут выглядеть так:
Основные типы данных VBscript
Наверное, те кто знаком со «старым» бейсиком, еще помнят, что для обозначения символьной переменной надо было писать знак бакса или солнышка (a$=»привет»). В VBscript этого делать не следует, он имеет только один тип данных, называемый VARIANT. Он может содержать как символы так и числа разной точности. Поэтому для того, чтобы точно определить тип данных, желательно использовать функции преобразования. К примеру, текст вводимый в поле формы имеет текстовый формат, и попытка сложить цифру «3» с цифрой «2» приведет к результату «32»:
Поэтому надо сделать так, чтобы переменные summatext1 и summatext2 были преобразованы в целые числа функцией Cint(переменная):
Подтипы данных VARIANT.
Некоторые правила VBscript
В заключении следует упомянуть некоторые основные приемы при написании кода скрипта.
Если код не умещается в одной строке, то можно использовать символ продолжения строки:
Для «склеивания» двух численных переменных лучше использовать знак «&» чем «+», т.е. a=»при» b=»вет» тогда a&b=»привет»
Код сценария желательно, на всякий случай, заключать в теги комментария
Заключение
Я уже говорил, что моей задачей не было рассказать все и вся про VBscript, в статье были приведены только справочные данные и основные методы, пригодные для написания простейших сценариев, без применения ActiveX технологии. Тем, кого заинтересовал этот язык программирования, можно порекомендовать книгу (из бумаги 🙂 «Изучаем VBscript» автор Пол Ломакс. Некоторые справочные данные я брал именно из нее.
При большой фантазии, на VBscript можно создать и полноценные приложения, как, к примеру Перекодировщик Rus-Translit или HTML редактор. Так что дерзайте!
Основы программирования в Microsoft Visual Basic Scripting
Рассмотрим следующий вопрос, кому и для чего нужен VBScript? Ответ прост: на мой взгляд, это идеальная платформа для создания простых приложений для рутинных задач быстро и просто. Например, при каждой загрузке необходимо удалять какую-либо папку или файл, пожалуйста. Кроме этого, применяются в следующих областях, использующих продукцию Microsoft: — автоматизация администрирования систем Windows; — серверный программный код в страницах ASP; — клиентские скрипты в браузере Internet Explorer.
В основном VBS-сценарии применяются для обработки данных, управления системой, работы с учетными записями пользователей и компьютеров, взаимодействия с офисными приложениями, работы с базами данными и прочих сложных задач.
Как вариант удобен для вирусописателя, как ни подло это звучит. Только при написании вирусов компиляция практически обязательна. Один из самых громких вирусов, I love you, был написан именно на VBScript, в общем, есть куда расти.
Для того, что бы программировать в среде VBScript, без компилятора, вам понадобится Notepad++, в блокноте проще, но лучше когда подсвечивается синтаксис, а также Internet Explorer, так как 80% функционала идет в комплекте с браузером. Для того, что бы программировать с компилятором, нужно установить Visual Basic Scripting Edition. VBS может запускаться в виде текстового файла, или компилированного текстового файла. В отличие от текстового файла, в котором будут видны команды, их можно редактировать, компилированный текстовый файл прочитать не удастся (сплошные крякозябры).
Скажем пару слов о спецификации. Описание всего, что поддерживает VBScript, займет много места. В принципе, не бойтесь экспериментировать, пишите код также, как и в VB, если что-то не пойдет, Вы об этом узнаете.
Все переменные здесь только Variant (может содержать данные любого типа.). Переменные задаются следующим образом:
Dim x – то, что хранит переменная VBScript сам разберется.
— Функции: Все функции Visual Basic.
Также как и в VB, константа вызывается, например так: vbNo. Самая, на мой взгляд, приятная фича заключается в работе с FileSystemObject. Позволяет работать с файловой системой компьютера (удалять папки, писать в файлы и т.д.).
Теперь приведу пару примеров роботы с VBScript.
Напишем программу, которая будет суммировать два числа.
Для начала, создадим файл с именем sum.vbs в него запишем следующее:
Dim a,b,c ‘переменные для чисел a = inputbox («Введите первое число») b = inputbox («Введите второе число») c = cint(a) + cint(b) ‘суммируем msgbox («Результат: » & c) ‘вывод результата
На первый взгляд все понятно, кроме одного: cint. Так как все переменные у нас Variant, а inputbox возвращает только строку как результат, то строка c = a + b будет интерпретирована как сложение двух строк, а не чисел, при вводе чисел 1 и 2 результат будет 12. Использование функции cint возвращает значение типа Integer, после этого складывает числа. Рассмотрим программу для работы с файловой системой. Создаем файл FileSystem.vbs и запишем в него: Dim fso, FolderName, FileName ‘переменные ‘создаем объект FileSystemObject в переменную fso Set fso = CreateObject(«Scripting.FileSystemObject») FolderName = InputBox(«Имя папки?») ‘имя папки FileName = InputBox(«Имя файла для создания?») ‘имя файла fso.CreateFolder («c:\» & FolderName) ‘создадим папку MsgBox «Создана папка: » & FolderName ‘сообщим пользователю fso.CreateTextFile («c:\» & FolderName & «\» & FileName) ‘создадим файл MsgBox «Создан файл: » & FileName ‘сообщим пользователю
Теперь объясню более внятно. Во второй строке мы создали объект FileSystemObject в переменной fso. Потом вызвали метод CreateFolder для создания папки, указав в качестве аргумента путь к папке. Потом вызвали метод CreateTextFile для создания файла. Теперь наполним текстовый файл информацией: Dim fso, Text, FolderName, FileName ‘переменные ‘создаем объект FileSystemObject в переменную fso Set fso = CreateObject(«Scripting.FileSystemObject») FolderName = InputBox(«Имя папки?») ‘имя папки FileName = InputBox(«Имя файла для создания?») ‘имя файла fso.CreateFolder («c:\» & FolderName) ‘создадим папку MsgBox «Создана папка: » & FolderName ‘сообщим пользователю Set Text = fso.CreateTextFile («c:\» & FolderName & «\» & FileName) ‘создадим файл MsgBox «Создан файл: » & FileName ‘сообщим пользователю Text.Write «Это» Text.WriteLine » статья о VBScript» Text.WriteBlankLines 2 Text.WriteLine «специально для ibm.at.ua» Text.Close
Думаю, тут все понятно. Объяснять не будем.
Рассмотрим вариант программы посложнее. Нужно узнать спецификацию своего компьютера, то есть полные данные компьютера, которые будут собраны в один файл. Создадим файл spec_report.vbs, в который запишем следующее: [spoiler=Код программы:] Const SILENT = False ‘тихий режим отключен, будет запрошено имя компьютера ‘Const SILENT = True ‘режим отчета о локальном компьютере без вывода диалогов
‘где сохранять отчет Const DATA_DIR = «comp\» ‘локальный каталог + «\» в конце ‘Const DATA_DIR = «\\SRV\Invent\comp\» ‘сетевой ресурс + «\» в конце
‘прочее Const TITLE = «Спецификация компьютера» ‘заголовок диалоговых окон Const DATA_EXT = «.csv» ‘расширение файла отчета Const HEAD_LINE = True ‘выводить заголовки в первой строке CSV-файла
‘не завершать скрипт аварийно ‘закомментировать на время отладки On Error Resume Next
‘объект для доступа к файловой системе Dim fso Set fso = CreateObject(«Scripting.FileSystemObject»)
‘объект WMI Dim wmio
‘файл отчета Dim tf
‘узнать имя локального компьютера Dim nwo, comp Set nwo = CreateObject(«WScript.Network») comp = LCase(nwo.ComputerName)
‘запросить имя удаленного компьютера If Not SILENT Then comp = InputBox(«Введите имя компьютера:», TITLE, comp) ‘проверить доступность компьютера If Unavailable(comp) Then MsgBox «Компьютер недоступен:» & vbCrLf & comp, vbExclamation, TITLE comp = «» End If End If
‘проводим инвентаризацию данных машины If Len(comp) > 0 Then InventComp(comp)
‘если ошибка If Len(Err.Description) > 0 Then _ If Not SILENT Then MsgBox comp & vbCrLf & «Ошибка:» & vbCrLf & Err.Description, vbExclamation, TITLE
‘инвентаризация данных компьютера, заданного сетевым именем или IP-адресом ‘сохранение отчета с указанным именем Sub InventComp(compname)
Set wmio = GetObject(«WinMgmts:!\\» & compname & «\Root\CIMV2»)
‘некоторые WMI-классы поддерживаются не во всех версиях Windows Dim build build = BuildVersion()
‘только локальные диски ‘пропускаются USB-диски, размер которых обычно NULL Log «Win32_LogicalDisk», _ «Name,FileSystem,Size,FreeSpace,VolumeSerialNumber», «DriveType = 3 AND Size IS NOT NULL», _ «Логический диск», _ «Наименование,Файловая система,Размер (Гб),Свободно (Гб),Серийный номер»
‘только для XP/2003 и выше ‘пропускаются «двойники», имеющие в названии слово «Secondary» If build >= 2600 Then Log «Win32_VideoController», _ «Name,AdapterRAM,VideoProcessor,VideoModeDescription,DriverDate,DriverVersion», «NOT (Name LIKE ‘%Secondary’)», _ «Видеоконтроллер», _ «Наименование,Объем памяти (Мб),Видеопроцессор,Режим работы,Дата драйвера,Версия драйвера» Else ‘для Windows 2000 Log «Win32_VideoController», _ «Name,AdapterRAM,VideoProcessor,VideoModeDescription,DriverDate,DriverVersion», «», _ «Видеоконтроллер», _ «Наименование,Объем памяти (Мб),Видеопроцессор,Режим работы,Дата драйвера,Версия драйвера» End If
‘только для XP/2003 и выше ‘пропускаются отключенные сетевые адаптеры, в том числе минипорты ‘пропускаются виртуальные адаптеры VMware If build >= 2600 Then Log «Win32_NetworkAdapter», _ «Name,AdapterType,PermanentAddress,MACAddress», «NetConnectionStatus > 0 AND NOT (Name LIKE ‘VMware%’)», _ «Сетевой адаптер», _ «Наименование,Тип,IP-адрес,MAC-адрес» Else ‘для Windows 2000 Log «Win32_NetworkAdapter», _ «Name,PermanentAddress,MACAddress», «», _ «Сетевой адаптер», _ «Наименование,IP-адрес,MAC-адрес» End If
‘только для XP/2003 и выше ‘пропускаются сетевые принтеры ‘условия «Local = True Or Network = False» недостаточно для принт-серверов, поэтому проверяется порт If build >= 2600 Then Log «Win32_Printer», _ «Name,PortName,ShareName», «(Local = True OR Network = False) AND (PortName LIKE ‘%USB%’ OR PortName LIKE ‘%LPT%’)», _ «Принтер», _ «Наименование,Порт,Сетевое имя» End If
Dim query, cls, item, prop query = «Select » & sel & » From » & from
If Len(where) > 0 Then query = query & » Where » & where Set cls = wmio.ExecQuery(query,, RETURN_IMMEDIATELY + FORWARD_ONLY)
Dim props, names, num, value props = Split(sel, «,») names = Split(param, «,»)
num = 1 ‘номер экземпляра For Each item In cls For i = 0 To UBound(props)
‘взять значение Set prop = item.Properties_(props(i)) value = prop.Value
‘без проверки на Null возможнен вылет с ошибкой If IsNull(value) Then value = «»
‘если указана кратная единица измерения, перевести значение ElseIf Right(names(i), 4) = «(Мб)» Then value = CStr(Round(value / 1024 ^ 2)) ElseIf Right(names(i), 4) = «(Гб)» Then value = CStr(Round(value / 1024 ^ 3))
‘вывести в файл непустое значение, заменить спецсимвол «;» value = Trim(Replace(value, «;», «_»)) If Len(value) > 0 Then tf.WriteLine sect & «;» & names(i) & «;» & num & «;» & value
‘перейти к следующему экземпляру num = num + 1 Next ‘item
‘преобразование даты формата DMTF в читаемый вид (ДД.ММ.ГГГГ) ‘http://msdn.microsoft.com/en-us/library/aa389802.aspx Function ReadableDate(str) ‘объект недоступен в Windows 2000, поэтому см. далее ‘ Dim dto ‘ Set dto = CreateObject(«WbemScripting.SWbemDateTime») ‘ dto.Value = str ‘ ReadableDate = dto.GetVarDate(True) ReadableDate = Mid(str, 7, 2) & «.» & Mid(str, 5, 2) & «.» & Left(str, 4) End Function
‘узнать версию (билд) WMI-сервера ‘вернуть целое число Function BuildVersion() Dim cls, item Set cls = wmio.ExecQuery(«Select BuildVersion From Win32_WMISetting») For Each item In cls BuildVersion = CInt(Left(item.BuildVersion, 4)) Next End Function
‘проверить доступность компьютера в сети ‘вернуть True, если адрес недоступен Function Unavailable(addr) Dim wmio, ping, p Set wmio = GetObject(«WinMgmts:«) Set ping = wmio.ExecQuery(«SELECT StatusCode FROM Win32_PingStatus WHERE Address = ‘» & addr & «‘») For Each p In ping If IsNull(p.StatusCode) Then Unavailable = True Else Unavailable = (p.StatusCode <> 0) End If Next End Function [/spoiler]
‘количество, порядок и названия столбцов отчета ‘значения должны соответствовать первым двум полям CSV файла! Dim col(21) ‘ » & vbCrLf _ & «
Программирование на Visual Basic Script для опытных программистов особой сложности не представляет. Достаточно почитать документацию, чтобы понять некоторые особенности языка и узнать отличия между VBScript и Visual Basic, а также между VBScript и VBA. Однако полная документация имеется, в основном, на английском языке. Да и начинающему разобраться в ней будет непросто. И если вы решили взяться за VBScript, то представленная ниже книга вам в этом поможет.
Где используется VBScript? Применений довольно много. Подробно об этом вы прочитаете в книге. А если коротко, то используется Visual Basic Script для написания сценариев, которые можно сохранить в файл и затем с их помощью выполнять различные рутинные процедуры. Например, очистку диска от ненужных файлов.
Кроме этого сценарии можно встраивать в веб-страницы. Поскольку VBScript является, пожалуй, самым простым в освоении языком сценариев, то он широко используется в различных приложениях, таких как SCADA-системы. Например, SCADA-система Reliance использует именно язык Visual Basic Script, который дополнен некоторыми специфическими для данной системы функциями.
Ниже приведено содержание книги. Некоторые разделы можно посмотреть непосредственно на этом сайте. Книга пока не закончена, поэтому рекомендую периодически заглядывать на эту страницу, чтобы получить обновлённую версию.
С помощью VBScript вы можете быстро создавать собственные страницы или даже писать игры. И все это размещается внутри вашего HTML-документа. Если вы уже имели дело с Visual Basic или Visual Basic for Applications, то легко справитесь и с VBScript.
Создание скриптов
При разработке приложения на VBScript необходимо знать концепцию этого языка, а также иметь представление о том, как работают объекты, события и процедуры. Это поможет вам в дальнейшем разобраться в функционировании объектной модели Internet Explorer 3.0 и объектов ActiveX. Помните, что объекты и VBScript связаны друг с другом.
Процедуры
Виды процедур
В следующем примере функция Celsius переводит градусы Фаренгейта в градусы Цельсия. Когда вызывается функция из подпрограммы ConvertTemp, переменная, содержащая параметр-значение, передается в функцию. Результат вычисления возвращается в вызывающую процедуру и отображается в MsgBox.
Используйте функции вместо подпрограмм, если требуется возвратить некоторое значение.
Использование подпрограмм и функций
Для применения функций в вашей программе необходимо поставить ее название справа от переменной или выражения, в которое будет возвращаться результат выполнения функции, например:
Обратите внимание, что круглые скобки опускаются при вызове подпрограммы, если оператор Call не применяется.
Объект
Объектная модель
Рассмотрим объект ActiveX Label (объект и элемент управления для VBScript фактически означают одно и то же). Он состоит из свойств и имеет один метод. Некоторые из его свойств включают заголовок (Caption), цвет фона (BackColor), цвет шрифта (ForeColor), размер (FontSize) и стиль шрифта (FontName). Его методом является About Box, отображающий при вызове окно с информацией об ActiveX. Событием для Label является перемещение указателя мыши над Label. Существует специальный тег
. Если вы имели дело с программированием на Visual Basic, то использование тегов
будет напоминать вам размещение какого-либо компонента или элемента управления на форме. Например, следующие значения тегов
Вы можете присваивать или устанавливать свойства, а также вызывать методы точно так же, как с любым средством управления формой. Следующий текст, например, включает элементы
Обработчик события нажатия кнопки cmdChangeIt изменяет текст объекта Label:
При интенсивном программировании лучше всего использовать программу Microsoft ActiveX Control Pad, великолепно выполняющую связывание команд Visual Basic с разными событиями и элементами управления на вашей страничке. Таким образом, вы можете больше внимания обращать на сам процесс разработки приложения.
Установка свойств для элементов управления и объектов
Установка свойств для разных объектов на странице является одной из простейших задач при программировании на VBScript. Стандартная схема этого действия выглядит так:
Свойству Caption (заголовок) присваивается строка «Watch me change!». Затем устанавливаются свойства ForeColor (цвет текста), BackColor (цвет фона) и FontName (стиль шрифта). Так можно устанавливать свойства для любого объекта на странице.
Обработка событий
FOR определяет имя элемента управления или объекта, для которого используется последующий код; EVENT задает событие, при возникновении которого следующий код будет вызван.
Следующий фрагмент исходного текста иллюстрирует оба рассмотренных метода. Обработчики события определяются как атрибуты, а также используются как процедуры внутри кода:
Следующий пример иллюстрирует вызовы подпрограммы и функции из сценария:
Объектная модель Internet Explorer 3.0
Таблица 1. Свойства объекта Window.
Свойство
Назначение
Frames
Используется, когда в текущем документе существует набор кадров (фреймов). Это свойство является массивом фреймов на странице
Location
Определяет местоположение текущего окна
Name
Имя того окна, чьи свойства определяются
Parent
Указывает родительский фрейм или окно, чьи свойства определяются на данный момент
Таблица 2. Несколько основных методов объекта Window.
Таблица 3. События загрузки объекта Window.
Событие
Назначение
OnLoad
Вызывается, когда загружается страница, содержащая данное событие. Используется в тэге как атрибут при вызове процедуры
OnUnLoad
Вызывается, когда выгружается страница, содержащая данное событие. Используется в тэге как атрибут при вызове процедуры
Объект Document
Объект Document имеет дело прежде всего с телом HTML-страницы. Он имеет три дочерних объекта: Link, Anchor и Form, каждый из которых является индексированным массивом объектов link, anchor и form. Кроме того, объект Form содержит подобъект Element, который является индексированным массивом всех объектов и элементов управления на странице. Некоторые важные свойства и методы перечислены в табл. 4. Для Document, заметим, не существует никаких событий.
Таблица 4. Некоторые методы объекта Document.
Метод
Назначение
BgColor
Устанавливает цвет фона текущего документа. Этот цвет может иметь шестнадцатеричное представление #rrggbb или соответствующее название
FgColor
Устанавливает цвет текста документа. Аналогичен по функциям свойству BgColor
Referrer
Указывает URL документа, на который ссылается пользователь в настоящее время. Например, если кто-то обратился по адресу: http://www.nm.org/welcome.htm с сервера http://www.someplace.com, то свойством Referrer будет: http://www.someplace.com, если это свойство было в странице вышеупомянутого расположения; в противном случае оно обращается в Null
LastModified
Показывает дату последней модификации документа
Open
Открывает документ для записи дополнительных строк в формате HTML. Синтаксис: document.open()
Write
Записывает HTML-текст в текущий документ и должен вызываться, когда документ открывается для записи. Синтаксис: document.write(somestring), где somestring может быть одной строкой, переменной или же несколькими связанными строками в формате HTML, которые выводятся на экран
Close
Закрывает документ после того, как имели место следующие вызовы: document.write, document.close.
Объект Frame
Объект History
Основной целью объекта History является доступ к списку введенных адресов в браузере. Существуют три метода, используемых для навигации по папке History. Наиболее важные методы перечислены в табл. 5. Объект History не генерирует никаких событий.
Таблица 5. Некоторые методы объекта History.
Объект Location
Этот объект необходим для получения информации относительно текущего расположения Internet Explorer. Наиболее важные свойства перечислены в табл. 6. Этот объект не имеет никаких событий или методов.
Таблица 6. Наиболее важные свойства объекта Location.