
- •Лабораторна робота № 1 Тема: Структура dom та методи доступу до вузлів дерева. Мета: Оволодіти засобами внесення змін на web-сторінці.
- •1. Структура dom та методи доступу до вузлів дерева
- •2. Завдання до лабораторної роботи.
- •3. Контрольні запитання.
- •Лабораторна робота № 2 Тема: Форма як елемент зв’язку з сервером Мета: Оволодіти засобами керування формами, внесення інформації для сервера на динамічній web-сторінці
- •1. Внесення та опрацювання даних на формі
- •2. Завдання до лабораторної роботи
- •3. Контрольні запитання
- •Лабораторна робота № 3 Тема: Основні поняття мови JavaScript, Мета: Оволодіти структурою мови JavaScript для створення інтерактивних web-сайтів та різними способами розміщення коду JavaScript.
- •Особливості програмування мовою JavaScript
- •Завдання до лабораторної роботи
- •Контрольні запитання
- •Лабораторна робота № 4 Тема: Опрацювання подій в JavaScript Мета: Оволодіти структурою та методами мови JavaScript для опрацювання подій.
- •Різні способи розміщення коду JavaScript.
- •Завдання до лабораторної роботи
- •Контрольні запитання
- •Лабораторна робота № 5 Тема: Використання jQuery для опрацювання змісту сторінки Мета: Оволодіти методами jQuery для опрацювання змісту сторінки.
- •Бібліотеки підтримки динаміки на веб-сторінці
- •Розширення бібліотеки функцій jQuery plugins
- •Завдання до лабораторної роботи:
- •Контрольні запитання
- •Список літератури
- •Створення динамічних веб-сторінок на Клієнті методичні вказівки
Міністерство Освіти І НАУКИ МОЛОДІ ТА СПОРТУ України
НАЦІОНАЛЬНИй університет “Львівська політехніка”
створення динамічних веб-сторінок на КЛІЄНТІ
МЕТОДИЧНІ ВКАЗІВКИ
до виконання лабораторних робіт
з дисципліни «програмування Інтернет-застосувань»
для студентів базового напряму 6.050103 «Програмна інженерія»
Затверджено
на засіданні кафедри
програмного забезпечення.
Протокол № 12 від 22.02.2013 р.
Львів – 2013
Створення динамічних веб-сторінок на клієнті. Методичні вказівки до лабораторних робіт з дисципліни «програмування Інтернет-застосувань» для студентів базового напряму 6.050103 «Програмна інженерія» / Укл.: Р.А. Мельник, М.М. Сенів. – Львів: Видавництво Національного університету “Львівська політехніка”, 2013. – 33 с.
Укладачі: Мельник Р.А., д-р техн.. наук, проф.,
Сенів М.М., канд. техн. наук, ст. викл.
Відповідальний за випуск Федасюк Д.В., д-р. техн. наук, проф.
Рецензенти Павич Н.Я. канд. техн. наук, доц.,
Пелещишин А.М. д-р. техн. наук, доц.
Лабораторна робота № 1 Тема: Структура dom та методи доступу до вузлів дерева. Мета: Оволодіти засобами внесення змін на web-сторінці.
1. Структура dom та методи доступу до вузлів дерева
web-сторінка може мати вигляд дерева, вузли якого є об’єктами, до властивостей яких доступаються операторами мови програмування JavaScript.
Модель DOM містить ряд стандартних глобальних об’єктів. Зокрема, це window, navigator, document, screen, history, location. Ієрархія основних об’єктів в моделі DOM представлена на рис.1.1.
Рис.1.1. Дерево моделі DOM об’єкта браузера window
Перерахуємо глобальні об’єкти та їх призначення, а також розглянемо методи та властивості глобальних об’єктів DOM :
window – вікно браузера, найвищий об’єкт ієрархії DOM. Усі глобальні змінні стають частинами об’єкта window . Його методи такі:
alert, blur, clearInterval, clearTimeout, close, confirm, focus, moveBy, moveTo, open, print, prompt, resizeBy, resizeTo, scrollBy, scrollTo, setInterval, setTimeout
Властивості : document, history, location, name.
navigator – інформація про браузер.
Властивості: appName, appVersion, browserLanguage, cookieEnabled, platform, userAgent
screen –інформація про екран, який використовує браузер.
Властивості: availHeight, availWidth, colorDepth, height, pixelDepth, width
history – список викликаних сторінок.
Властивості :length
Методи : back, forward, go;
location – URL поточної Web-сторінки.
Властивості: host, hostname, href, pathname, port, protocol, search
Методи : assign, reload, replace
document – поточна Web-сторінка.
Властивості : anchors, body, cookie, domain, forms, images, links, referrer, title, URL
Методи : close, getElementById, getElementsByName, open, write, writeln, getElementsByTagName.
Приклад ієрархічного дерева DOM для об’єкта document наведено на рис.1.2.
Рис.1.2. Дерево моделі DOM
За змістом вузли дерева поділяють на три типи:
елементів (HTML теги) – породжені вузли або атрибути;.
тексту (текст або блоки ) – не мають породжених вузлів чи атрибутів;
атрибутів (пари атрибут/значення) – не мають породжених вузлів чи атрибутів.
Наведемо фрагмент сторінки і відповідне йому дерево (рис.1.3)
<p>This is a paragraph of text with a
<a href="/path/to/another/page.html">link</a> inside.
Рис. 1.3. Фрагмент дерева з вузлом параграфа
За місцем розташування на дереві виділено такі типи вузлів: parent – батьківський, child – породжений, sibling – сусідній, firstchild – перший породжений , lastchild – останній породжений.
Назви вузлів є складовими назвами властивостей вузлів та параметрів методів, які з ними оперують (ліквідують, модифікують, додають тощо). Вузли DOM дерева мають такі властивості:
firstChild, lastChild - початковий та кінцевий породжені вузли,
childNodes - масив породжених вузлів;
nextSibling, previousSibling - сусідні вузли (по одному), що мають одного батька;
parentNode - елемент, що породив даний вузол.
Мова програмування дає змогу змінювати склад вузлів, вигляд та зміст Web-сторінки. На моделі DOM програміст має можливість виконувати операції двох типів: на рівні вузлів для зміни структури дерева шляхом додавання або віднімання вузла та заміни вузла; на рівні вузла для зміни змісту елемента. Зокрема, для першого типу операцій застосовуються методи:
appendChild(node): розміщає вузол у кінці списку породжених вузлів до заданого;
insertBefore(newChild, oldChild): розміщає новий вузол перед вузлом oldChild у списку породжених вузлів до заданого;
removeChild(node): знищує наведений вузол зі списку породжених вузлів до заданого;
replaceChild(newChild, oldChild): заміняє породжений на новий вузол.
Властивості набувають значення
nodeType: 1 – елемент, 2 – атрибут, 3 текст, 4 – коментарі, 9 – документ.
nodeName: повертає версію тега, наприклад, "div" чи"ARTICLE". Тестові вузли мають назву "#text" . Назва вузла document є "#document"
nodeValue: текст вузла або значення атрибута.
Доступ до вузлів DOM за тегами чи ідентифікаторами здійснюється методами:
document.getElementById("id") – елемент;
element.getElementsByTagName("tag") – всі породжені вузли;
document.createElement("tag") - команда створює новий порожній вузол для подання елемента певного типу.
Розглянемо декілька прикладів застосування методів внесення змін в структуру дерева та змін у змісті вузла – елемента сторінки:
1) створення нового вузла <h2> в області сторінки (div), позначеної як id=”content”:
var newHeading = document.createElement("h2");
newHeading.style.color = "green";// встановлення властивостей
newHeading.innerHTML = "This is a heading";
var contentArea = document.getElementById("content");
contentArea.appendChild(newHeading);
2) зміна фону тексту пунктів списку:
для тегів параграфів змінити фон тексту
<body>
<p>This is the first paragraph</p>
<p>This is the second paragraph</p>
</body>
. . . . . . . . . . . . . . . . . .
var allParas = document.getElementsByTagName("p");
for (var i = 0; i < allParas.length; i++) {
allParas[i].style.backgroundColor = "yellow";
}
3) додавання вузла DOM як реакція на подію з використанням innerHTML
. . . . . . . . . . . . . . .
document.getElementById("thisslide").onclick = slideClick;
. . . . . . . . . . . . . .
function slideClick() {
var p = document.createElement("p");
p.innerHTML = "A new paragraph!";
this.appendChild(p);
}
або з занесенням додаткових (в т.ч. події) атрибутів параграфу :
function slideClick() {
var p = document.createElement("p");
p.style.color = "red";
p.style.marginLeft = "50px";
p.onclick = myOnClick;
p.innerHTML = "A paragraph!"; // занесення в innerHTML
this.appendChild(p);
}