Лістинг 1.4. Код на JavaScript, «Hello, World!».
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" content="text/html;charset=windows-1251">
<TITLE>JavaScript Hello, World! Example by Mikle</TITLE>
<SCRIPT LANGUAGE="JavaScript"> <!--
function clickme() {
alert("Hello, World!");
return true; }
-->
</SCRIPT>
</HEAD><BODY BGCOLOR="WHITE">
<FORM>
<INPUT TYPE="BUTTON" NAME="cmdClickMe"
VALUE="ClickMe!" OnClick="var rtn=clickme();">
</FORM> </BODY> </HTML>
Погано не лише те, що підтримка сценаріїв розрізняється в різних програмах перегляду, але і те, що сценарії не забезпечують всієї розвиненої функціональності, якою чекають від мови програмісти. Сценарії надають підмножину тих мовних возможностей, які зазвичай використовують розробники: базові структури і оператори — цикли і розгалуження. По суті, сценарії годяться лише для перевірки коректності введених даних перед відсиланням форми на сервер.
Як тільки до можливостей програм перегляду додаються сценарії, зростає складність клієнтської платформи. Вочевидь також, що раз відсутня універсальна мова опису сценаріїв, то втрачаються всі розрекламовані переваги платформеної незалежності Web. Для багатьох Web-майстрів і розробників постійна війна між програмами перегляду за переважання на ринку створює необхідність підтримувати дві версії Web-узла: для Microsoft Internet Explorer і для Netscape Navigator.
Компоненти ACTIVEX.
У міру вдосконалення технології програм перегляду залежність від платформи посилилася — вона була привнесена компонентами ACTIVEX, технологією, заснованою на СОМ — моделі багатокомпонентних об'єктів Microsoft (Component Object Model). Компоненти ACTIVEX варіюються від химерних елементів управління, таких як движки (spinners), до невізуальних компонентів, що забезпечують доступ до баз даних або електронної пошти. Подібні компоненты роблять сторінки в Internet Explorer більш функціональними і привабливими, але практично даремними в середовищі, що не підтримує ACTIVEX, наприклад, в Netscape Navigator.
Компонент ACTIVEX додається в Web-сторінку за допомогою тега <OBJECT>, що однозначно визначає компонент для програми перегляду. Приведений нижче код, використовуючи тег <OBJECT>, поміщає на Web-сторінку елемент управління ACTIVEX — мітку (label).
<OBJECT ID="Label1" WIDTH=291 HEIGHT=41 CLASSID="CLSID:978C9E23-D4B0-11CE-BF2D-00AA003F40D0"
CODEBASE="http://www.microsoft.com/activex/controls/FM20.DLL">
<PARAM NAME="ForeColor" VALUE="65408">
<PARAM NAME="VariousPropertyBits" VALUE="276824091">
<PARAM NAME="Caption" VALUE="Щелкни мене!">
<PARAM NAME="Size" VALUE="7691;1094">
<PARAM NAME="SpecialEffect" VALUE="1">
<PARAM NAME="FontEffects" VALUE="1073741827">
<PARAM NAME="FontHeight" VALUE="480">
<PARAM NAME="FontCharSet" VALUE="204">
<PARAM NAME="ParagraphAlign" VALUE="3">
<PARAM NAME="FontWeight" VALUE="700">
</OBJECT>
Значення GUID в будь-якій операційній системі зберігаються в реєстрі — централізованій базі даних, яка відповідає за підтримку інформації про програмні об'єкти, використовувані застосуваннями. Коли Internet Explorer виявляє тег <OBJECT>, він звертається до реєстру і шукає там GUID, співпадаючий із значенням атрибуту CLASSID. Коли такий GUID знайдений, з реєстру вибирається додаткова інформація, що дозволяє відшукати файл, який відповідає даному елементу управління ACTIVEX.
У тегу <OBJECT> можна виділити декілька ключових складових частин, які визначають, як саме компонент ACTIVEX буде розміщений на сторінці. Атрибут ID задає ім'я елементу управління, за допомогою якого до всіх його властивостей, методів і подій можна буде дістати доступ з тексту сценарію.
CLASSID є буквено-цифровим кодом, який однозначно ідентифікує даний компонент ACTIVEX серед всіх інших. Цей код, відомий як глобально унікальний ідентифікатор (Globally Unique Identifier, GUID), не використовує більше жоден компонент ACTIVEX. За допомогою GUID Internet Explorer однозначно визначає необхідний компонент і створює його на сторінці. Якщо потрібний елемент управління ACTIVEX на клієнтській машині відсутній, Internet Explorer звертається до атрибуту CODEBASE за інформацією про те, де знаходиться цей елемент на сервері. Слідуючи цій інформації, файли даного елементу управління завантажуються з сервера, і елемент встановлюється на клієнтській машині. Тепер Internet Explorer може вільно працювати з ним.
Доступ до компонентів ACTIVEX за допомогою тега <OBJECT> не обмежується елементами управління. Цей тег може активізувати довільний компонент ACTIVEX, у тому числі і ті компоненты, які можна написати на мовах Visual Basic, C++ і Microsoft FoxPro. По суті, ви легко можете розширити функціональність, доступну клієнтові, написавши свої власні компоненты ACTIVEX і завантаживши їх в програму перегляду. Слідує, правда, пам'ятати, що Internet Explorer за замовчуванням не завантажує і не виконує компоненты без цифрового підпису розробника.
Остаточне забезпечення компонента даними відбувається через тег <PARAM>, що має атрибути NAME і VALUE, за допомогою яких задаються початкові значення властивостей даного компонента, коли він вперше створюється на Web-сторінці. Після того, як початкові значення встановлені, значення властивостей легко змінити під час виконання з тексту сценарію.
<SCRIPT LANGUAGE="VBScript"><!--
Sub Label1_DblClick(Cancel)
Label1.Font.Weight=24
Label1.Caption="Клацни знову!"
end sub
Sub Label1_Click()
Label1.AutoSize = false
Label1.Font.Weight = 30
Label1.Caption="Ще двічі!!!!!"
Label1.SpecialEffect=1
end sub
-->
</SCRIPT>
Документи ACTIVEX.
Visual Basic, починаючи з версії 5.0, дозволяє, окрім елементів управління ACTIVEX, створювати документи ACTIVEX. Документи ACTIVEX є програмними об'єктами, які можуть завантажуватися і працювати усередині ActiveX-контейнера, такого як Internet Explorer. Документи ACTIVEX дозволяють розробникам на Visual Basic негайно застосувати свій досвід роботи на Visual Basic для створення застосувань для Інтернету. Що найістотніше, документи ACTIVEX надають доступ добільшої частини ключових можливостей Visual Basic в завантажуваному форматі.
Java.
Не забуватимемо і про Java! Ця мова дуже швидко придбала популярність, і його підтримують як Internet Explorer, так і Netscape Navigator. Аплети, розроблені на Java за допомогою таких засобів, як Microsoft J++, багато в чому нагадують компоненты ACTIVEX: це самодостатні, завантажувані фрагменти Web-сторінки. Так само, як і в компонентів ACTIVEX, в аплетів є свій особливий тег — <APPLET>, який дає програмі перегляду вказівку завантажити код на Java і виконати його. Нижченаведений код виконує аплет на Web-сторінці:
<APPLET CODE="DBLBULB.CLASS" HEIGHT=35 WIDTH=26> </APPLET>
Атрибут CODE тега <APPLET> ідентифікує вихідний код аплета Java практично так само, як атрибут CODEBASE визначає джерело для компонента ACTIVEX. В аплетів можуть також бути теги <PARAM>, задаючі початкові значення. У багатьох випадках аплети є функціональними еквівалентами елементів управління ACTIVEX. В усякому разі, мови опису сценаріїв можуть звертатися до відкритих функцій аплетів точно так, як і вони звертаються до методів компонентів ACTIVEX.
Dynamic HTML.
Так, відмінності між платформами не полегшують життя Web-розробникам. У версії Internet Explorer 4.0 Microsoft додала до клієнтської функціональності ще одну особливість — Dynamic (динамічний) HTML, який дозволяє за допомогою сценаріїв програмно змінювати теги. Це незвичайно потужний засіб. Код з лістингу 1.5 за допомогою VBScript визначає, коли покажчик миші знаходиться поверх якоїсь ділянки тексту Web-сторінки, і змінює розмір і колір тексту.
Дата добавления: 2016-04-02; просмотров: 637;