Кіріспе

Интерактивті немесе анимациялық веб-сайттарды кодтау

Динамикалық HTML немесе DHTML – бұл кейбір браузер әзірлеушілері HTML, стильдік кестелер және клиенттік скрипттердің (JavaScript, VBScript немесе басқа қолдау көрсетілетін скрипттер) үйлесімін, интерактивті және анимациялық құжаттар жасауға мүмкіндік беретін сипаттау үшін қолданған термин. DHTML қолданбасын Microsoft 1997 жылы Internet Explorer 4 нұсқасымен енгізді. Сенбеуге болатын дерек көзі: мерзімі – 2022 жылдың қарашасы.

DHTML скрипт тілдеріне веб-беттің анықтама тіліндегі айнымалыларды өзгертуге мүмкіндік береді, бұл өз кезегінде бет толық жүктелгеннен кейін және қарау барысында HTML беттің мазмұнының көрінісі мен функционалдығына әсер етеді. Осылайша, DHTML-дің динамикалық сипаты – бетті қарау кезінде жұмыс істеу қабілеті, әрбір жүктелуде бірегей бет жасау емес. Керісінше, динамикалық веб-бет – кең ұғым, ол әрбір пайдаланушы үшін, жүктелу оқиғасы үшін немесе нақты айнымалы мәндері үшін әртүрлі құрылған кез келген веб-бетті қамтиды. Бұл клиенттік скрипттермен (мысалы, PHP, Python, JSP немесе ASP.NET) және серверлік скрипттермен құрылған беттерді қамтиды, онда веб-сервер мазмұнды клиентке жібермес бұрын жасайды. DHTML – Ajax-тың алдағысы болып табылады және DHTML беттері әлі де сұрау/қайта жүктеу негізінде жұмыс істейді. DHTML моделінде бет жүктелгеннен кейін клиент пен сервер арасында өзара әрекеттесу болмауы мүмкін; барлық өңдеу клиенттік жағында жүзеге асырылады. Керісінше, Ajax DHTML мүмкіндіктерін кеңейтеді, бетке қосымша әрекеттерді орындау үшін серверге желілік сұраулар (немесе «қосалқы сұраулар») жіберуге мүмкіндік береді. Мысалы, егер бетте бірнеше түймешелер болса, таза DHTML тәсілі барлық түймешелердің мазмұнын жүктейді, содан кейін тек белсенді түймешені динамикалық түрде көрсетеді, ал AJAX тек қажет болған кезде әр түймешені жүктей алады.

Қолданылуы

DHTML авторларға өз беттерімен алуы қиын эффектілерді қосуға мүмкіндік береді, бұл құжат объектісінің моделін (DOM) және бет стилін өзгерту арқылы жүзеге асырылады. HTML, CSS және JavaScript комбинациясы мынадай мүмкіндіктерді ұсынады:

Құжатта мәтін мен суреттерді анимациялау. Соңғы жаңалықтар, қор нарығының көрсеткіштері немесе басқа да деректермен мазмұнын автоматты түрде жаңартатын тикер немесе басқа да динамикалық дисплейді енгізу. Пайдаланушының енгізген деректерін жинау үшін нысанды пайдалану, содан кейін оларды өңдеу, тексеру және деректерді серверге қайта жібермей-ақ жауап беру. Ауыстыруға арналған түймелерді немесе ашылмалы мәзірлерді қосу. Кем қолданылатын мүмкіндік – браузердегі әрекеттік ойындарды жасау. 1990 жылдардың соңы мен 2000 жылдардың басында DHTML арқылы көптеген ойындар жасалғанмен, браузерлер арасындағы айырмашылықтар оны қиынға айналдырды: ойындардың бірнеше платформада жұмыс істеуі үшін көптеген техникалық әдістер кодта іске асырылуы керек болды. Содан бері браузерлер веб-стандарттарға қарай бірікті, бұл DHTML ойындарының дизайнын тиімді етті. Бұл ойындарды барлық негізгі браузерлерде, сондай-ақ кіріктірілген браузер контекстерін қолдайтын десктоптық және мобильдік қолданбаларда ойнауға болады. "DHTML" термині соңғы жылдары қолданыстан шығып қалды, себебі ол әртүрлі веб-браузерлер арасында жақсы жұмыс істемейтін тәжірибелермен және конвенциялармен байланысты болды. Кеңейтілген DOM қолжетімділігімен DHTML қолдауы Internet Explorer 4.0 нұсқасымен енгізілді. Netscape Navigator 4.0 нұсқасында қарапайым динамикалық жүйе болғанымен, барлық HTML элементтері DOM-да көрсетілмеген. DHTML стильді әдістер кеңінен таралған кезде, технологияларға қолдау деңгейінің браузерлер арасындағы өзгешелігі оларды жасау және түзетуді қиындатты. Internet Explorer 5.0+, Mozilla Firefox 2.0+ және Opera 7.0+ ECMAScript-тен мұра етілген ортақ DOM-ді қабылдаған кезде әзірлеу оңайлады. Кейін jQuery сияқты JavaScript кітапханалары браузерлер арасындағы DOM манипуляциясының күнделікті қиындықтарын жойды, бірақ браузерлер арасындағы жақсырақ стандарттарға сәйкестік бұл қажеттілікті азайтты.

Құжат объектісінің үлгісі

DHTML – өзі жеке технология емес, ол үш байланысты және бір-бірін толықтыратын технологияның нәтижесі: HTML, каскадты стильдер тілі (CSS) және JavaScript. Скрипттер мен компоненттерге HTML және CSS мүмкіндіктеріне қол жеткізу үшін құжаттың мазмұны Document Object Model (DOM) деп аталатын бағдарламалау моделіндегі нысандар ретінде ұсынылады. DOM API – DHTML-дің негізі, ол құжаттағы барлық нәрсеге қол жеткізуге және оны өңдеуге мүмкіндік беретін құрылымдалған интерфейс ұсынады. Құжаттағы HTML элементтері жеке нысандардың иерархиялық ағашы түрінде қолжетімді, бұл элементтің және оның атрибуттарын қасиеттерді оқу және орнату арқылы, сондай-ақ әдістерді шақыру арқылы қарастыруға және өзгертуге мүмкіндік береді. Элементтер арасындағы мәтін де DOM қасиеттері мен әдістері арқылы қолжетімді. DOM сонымен қатар пайдаланушының перне басуы және тінтырту сияқты әрекеттеріне де қол жеткізуді қамтамасыз етеді. Осы және басқа да оқиғаларды оқиғаларды басқару функциялары мен процедураларын жасау арқылы ұстап алып, өңдеуге болады. Оқиғаларды басқарушы белгілі бір оқиға орын алған сайын басқаруды алады және құжатты өзгерту үшін DOM-ды пайдалануды қоса алғанда, кез келген қажетті әрекетті орындай алады.