мини|DHTML шемаДинамички HTML (енгл. Dynamic HTML, DHTML) је назив који су поједини произвођачи веб прегледача користили да опишу комбинацију HTML-а, CSS стилова и скрипти на страни клијената (попут JavaScript-а или VBScript-а), која омогућава прављење интерактивних и анимираних страница.

Динамички HTML омогућава скрипт језицима, као што је JavaScript, да мењају елементе и променљиве унутар веб странице након што је већ учитана, чиме се током прегледа мења изглед, понашање и функционалност садржаја који би иначе био статичан. Дакле, „динамичност” у динамичном HTML-у односи се на промене које се дешавају током гледања странице, а не на креирање различитог садржаја приликом сваког учитавања.

Динамичке веб странице Када се говори о динамичким веб страницама у општем смислу, мисли се на нешто сасвим друго и много шире. Такве странице се могу генерисати потпуно различито за различите кориснике, за различита времена учитавања или на основу неких специфичних параметара, података или упита.

Динамички садржај тог типа често се прави на серверу, коришћењем серверских технологија попут PHP-а, Python-а, JSP-а ili ASP.NET-а. У тим случајевима сервер састави садржај и пошаље га прегледачу као готово, персонализовано искуство.

Разлика је у томе што се код класичне динамичке странице све припреми пре слања кориснику, док се код динамичког HTML-a све дешава после учитавања, у самом прегледачу.

Објектни модел докумената Динамички HTML сам по себи не представља посебну технологију, већ настаје као комбинација три међусобно повезане и комплементарне технологије: HTML-а, CSS-а и JavaScript-a. Да би скрипте и компоненте могле да приступе особинама HTML-a и CSS-a, садржај документа се представља у облику објекта у програмском моделу познатом као Објектни модел докумената (енгл. Document object model, DOM). мини|Објектни модел докумената DOM API, апликативни програмски интерфејс модела објеката докумената, представља кључни механизам који омогућава динамичке промене HTML докумената, обезбеђујући структурисан интерфејс који омогућава приступ и манипулацију готово свим деловима докумената. Елементи HTML докумената доступни су као хијерархијско стабло појединачних објеката, што омогућава анализу и мењање елемената и њихових атрибута путем читања и постављања својства, као и позивањем метода. Текст између елемената такође је доступан путем DOM својства и метода.

DOM такође омогућава приступ радњама које корисник обавља, као што су притискање тастера на тастатури и кликови мишем. Ове, као и друге радње, могу се обрадити креирањем посебних функција за обраду догађаја. Кад се одређена радња догоди, функција за обраду се аутоматски покреће и преузима контролу над извршавањем, при чему може обавити све потребне радње, укључујући и измене садржаја или структуре докумената путем DOM-а.

Историјски развој Технологије засноване на динамичком HTML-у биле су значајан корак у развоју интерактивног веба, али су имале одређена ограничења. Све промене, анимације и реакције одвијале су се искључиво на страни клијента, што је значило да се сав садржај морао учитати одмах. Ово је функционисало за једноставне странице, али је постајало неефикасно како су апликације постајале комплексније.

Динамички HTML се сматра претходником Ajax технологије. Док динамичке HTML апликације углавном функционишу по принципу учитавања целе странице без додатних захтева према серверу касније, све се обрађује у прегледачу, Ajax, међутим, надограђује овај концепт и омогућава страници да накнадно шаље мање захтеве серверу ради додатних акција.

На пример, ако страница садржи више табова, класичан динамички HTML би унапред учитао садржај свих табова, а приказивао само активни, док би Ajax учитао садржај појединачног таба тек када га корисник отвори.

Примене Динамички HTML омогућава ауторима да додају ефекте на своје странице које би иначе били тешко изводљиви, путем измене објектног модела докумената (DOM) и стила странице. Комбинација HTML-а, CSS-а и JavaScript-а пружа могућност да се:

Анимира текст и слике унутар документа Уграде новинске траке или други динамички прикази који аутоматски освежавају свој садржај са најновијим вестима, котирањем акција или другим подацима Користе форме за прикупљање уноса корисника, а затим обрађују, проверавају и реагују на те податке без потребе да се шаљу назад на сервер

Укључе дугмад са прелазима или падајуће меније

Мање уобичајена употреба је креирање акционих игара у прегледачу. Иако је нестало више игара користећи динамички HTML, разлике између прегледача чиниле су то сложеним: многе технике требало је посебно кодирати да би игре радиле на различитим платформама. Од тада су прегледачи све више усаглашени са веб стандардима, што је олакшало развој динамичких HTML игара. Данас се ове игре могу играти у свим главним прегледачима, као и у апликацијама за десктоп и уређаје које подржавају уграђене прегледачке контексте.

Термин „DHTML” је последњих година изашао из употребе, јер је био повезан са техникама и праксама које често нису радиле добро између различитих прегледача.

Динамички стилови Једна од најважнијих могућности динамичког HTML-a су управо динамички стилови. Уз помоћ CSS-a, изглед и формат елемената у документу могу се веома брзо изменити, а да се притом ниједан елемент не додаје нити уклања. На овај начин документи остају мањи, а скриптови који њима управљају знатно бржи.

Објектни модел (DOM) омогућава да се стиловима приступа програмски. То подразумева да се inline стилови појединачних елемената, као и правила стилова, могу мењати једноставним JavaScript кодом.

Inline стилови представљају CSS подешавања примењена на елемент путем атрибута style. Овим стиловима може се приступити и могу се мењати добијањем style објекта датог елемента. На пример, ако треба да се текст у наслову визуелно истакне када корисник пређе мишем преко њега, може се употребити style објекат да се повећа величина слова и да се промени њихова боја.

Референце

Категорија:HTML