
- •1. Основні поняття
- •1.1. Сім варіацій на тему "Hello, world! "
- •1.1.1. Варіація перша: сама проста
- •1.1.2. Варіація друга: із секретним вихідним текстом
- •1.1.3. Варіація третя: із переменной і функціями
- •1.1.4. Варіація четверта: створення сторінки "на літу"
- •1.1.5. Варіація п'ята: із діалоговою панеллю
- •1.1.6. Варіація шоста: опрацювання події
- •1.1.7. Варіація сьома: із визначенням типу браузера
- •1.2. Перемінні в JavaScript
- •1.2.1. Оголошення перемінних
- •1.2.2. Присвоєння значення перемінним
- •1.2.3. Типи даних
- •1.2.4. Перетворення типів даних
- •1.3. Оператори мови JavaScript
- •1.3.1. Унарные оператори
- •1.3.2. Бинарные оператори
- •1.3.3. Оператори для роботи з окремими бітами
- •1.3.4. Оператори зсуву
- •1.3.5. Оператори відношення
- •1.3.6. Логічні оператори
- •1.3.7. Оператор присвоювання
- •1.3.8. Умовні оператори
- •1.3.9. Оператори циклу
- •1.3.10. Інші оператори
- •1.3.11. Старшинство операторів JavaScript
- •1.3.12. Функції в мові сценаріїв JavaScript
- •1.4. Приклади використання операторів циклу
- •2. Класи і об'єкти
- •2.1. Три типи об'єктів «JavaScript
- •2.1.1. Умонтовані об'єкти
- •2.1.2. Об'єкти браузера
- •2.1.3. Об'єкти на базі класів, утворюваних програмістом
- •2.2. Масиви в JavaScript
- •2.3.1. Властивості об'єкта window
- •2.3.2. Методи об'єкта window
- •2.4. Сценарії, що працюють з об'єктами window
- •2.4.1. Як закрити вікно браузера
- •2.4.2. Открываем нове окно
- •2.4.3. Текст , що біжить , у рядку стани браузера
- •2.4.4. Обмеження часу реакції користувача
- •2.4.5. Завантаження документа html у вікно браузера
- •2.5.1. Властивості об'єкта document
- •2.5.2. Методи об'єкта document
- •2.5.3. Колірне оформлення документа
- •2.5.4. Посилання і мітки в документі
- •2.6. Умонтований клас Math
- •2.6.1. Властивості
- •2.6.2. Методи
- •2.7. Умонтований клас Date
- •2.7.1. Конструктори класу Date
- •2.8. Умонтовані функції
- •2.9. Плавна зміна цвіту фона документа html
- •3. Робота з формами
- •3.1. Ієрархія об'єктів у формах
- •3.2. Форма і її властивості
- •3.2.2. Властивості об'єкта form
- •3.3. Об'єкти, що входять до складу форм
- •3.3.1. Кнопка button
- •3.3.2. Перемикач checkbox
- •3.3.3. Перемикач radio
- •3.3.4. Приклад форми з перемикачами
- •3.3.5. Список select
- •3.3.6. Приклади сценаріїв, що працюють із списками
- •3.3.7. Однострочное поле text
- •3.3.8. Перевірка анкети
- •3.3.9. Многострочное поле textarea
- •3.3.10. Приклад сценарію, що заповнює поле textarea
- •3.3.11. Однострочное поле password
- •3.3.12. Запровадження ідентифікатора і пароля
- •3.4. Перевірка заповнення форми
- •3.5. Шестнадцатеричный калькулятор
- •3.3.6. Електронні часи
- •4. Фреймы
- •4.1. Файл опису фреймов
- •4.2. Взаємодія між фреймами
- •4.2.1. Десятично-шестнадцатеричный перетворювач
- •4.2.2. Відображення декількох документів html
- •5. Растровые зображення
- •5.1. Растровое зображення як об'єкт
- •5.2. Динамічна заміна растровых зображень
- •5.2.1. Зміна зовнішнього вигляду графічних посилань
- •5.2.2. Створення анімаційних зображень
- •5.2.3. Чекання завантаження всіх зображень
- •6. Взаємодія з аплетами java
- •6.1. Вбудовування аплета Java у документ html
- •6.2. Виклик методів аплета Java із сценарію JavaScript
- •6.3. Доступ до полів аплета Java із сценарію JavaScript
- •6.4. Динамічне завантаження аплетов Java
- •7. Застосування cookie
- •7.1. Виконання основних операцій із cookie
- •7.1.1. Створення cookie
- •7.1.2. Одержання значення cookie
- •7.1.3. Зміна значення параметра cookie
- •7.1.4. Видалення cookie
- •7.1.5. Обмеження на використання cookie
- •7.2. Декілька прикладів використання cookie
- •7.2.1. Фіксація повторних провідин сторінки
- •7.2.2. Записна книжка Cookies Notepad
- •7.2.3. Настроювання параметрів документа html
- •7.2.5. Одержання cookie розширенням серверу Web
- •7.2.6. Лічильник провідин на базі cookie і програми cgi
- •7.3. Настроювання браузера для роботи з cookie
7.1.5. Обмеження на використання cookie
На використання cookie накладаються визначені обмеження. який перераховані нижче:
усього може бути створено не більш ніж 300 cookie;
кожне cookie не може перевищувати по своєму розмірі 4 Кбайт;
для кожного домена може бути створено не більш 20 cookie
Якщо зазначені значення будуть перевищені, браузер може видалити самі старі cookie або обрізати значення параметрів cookie.
7.2. Декілька прикладів використання cookie
У цьому поділі на прикладі конкретних сценаріїв JavaScript буде показано, як можна використовувати cookies для рішення різноманітних практичних задач.
7.2.1. Фіксація повторних провідин сторінки
У першому прикладі документ HTML містить форму з двома кнопками.
Якщо натиснути на кнопку Go to page, сценарій JavaScript створить новий документ HTML. Зовнішній вигляд цього документа залежить від того, скільки разів користувач натискав на цю кнопку.
Кнопка Remove All Cookies призначена для видалення cookie, створеного в документі HTML.
Коли нажимается кнопка Go to page у перший разом, cookie ще не створено. При цьому створюється документ HTML.
В другий і наступні рази зовнішній вигляд документа змінюється.
Тепер з'являється новий заголовок, а також уміст параметрів cookie з іменами Visit і Count.
При кожних нових провідинах значення параметра Count буде збільшуватися на одиницю. Якщо ж у документі натиснути кнопку Remove All Cookies, підрахунок провідин почнеться наново.
Вихідний текст документа HTML поданий у листинге 7.1.
Листинг 7.1. Файл chapter7/Again/Again. html
<HTML>
<HEAD>
<TITLE>Cookies demo</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function addCookie(szName, szValue, dtDaysExpires)
{
var dtExpires = new Date();
var dtExpiryDate = "";
dtExpires.setTime(dtExpires.getTime() + dtDaysExpires * 24 * 60 * 60 * 1000);
dtExpiryDate = dtExpires. toGMTString();
document. cookie = szName + "=" + szValue + "; expires=" + dtExpiryDate;
}
function findCookie(szName)
{
var i = 0;
var nStartPosition = 0;
var nEndPosition = 0;
var szCookieString = document.cookie;
while(i <= szCookieString.length)
{
nStartPosition = i;
nEndPosition = nStartPosition + szName.length;
if(szCookieString.substring(nStartPosition,nEndPosition) == szName)
{
nStartPosition = nEndPosition + 1;
nEndPosition = document.cookie.indexOf(";",nStartPosition);
if(nEndPosition < nStartPosition)
nEndPosition = document.cookie.length;
return document.cookie.substring(nStartPosition, nEndPosition);
break;
}
i++;
}
return "";
}
function removeCookie(szName)
{
var dtExpires = new Date();
dtExpires.setTime(dtExpires.getTime() - 1);
var szValue = findCookie(szName);
document.cookie = szName + "=" + szValue + "; expires=" + dtExoires.toGMTString();
}
function btnClick()
{
if(findCookie ("Visit") == "")
{
addCookie("Visit","Alexandr_Frolov",10);
addCookie("Count","0",10);
document.write("<H2>You are welcome!</H2>");
}
else
{
var szCnt = findCookie("Count");
var i=0;
if(szCnt != "")
{
i = szCnt;
i++;
szCnt = i.toString();
addCookie("Count", szCnt,10);
}
document.write("<H2>You are welcome AGAIN!</H2>");
document.write(document.cookie);
}
}
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR=white>
<Hl>Visit our page!</Hl>
<FORM NAME="TestForm">
<P><INPUT TYPE="button" VALUE="Go to page" onClick="btnClick();">
<P><INPUT TYPE="button" VALUE="Remove All Cookies"
onClick="removeCookie('Count'); removeCookie('Visit')">
</FORM>
</BODY>
</HTML>
Функції addCookie, findCookie і removeCookie, визначені в цьому документі, знайомі. Вони призначені відповідно для створення cookie, витяги значення заданого параметра cookie і видалення cookie.
Функція bInClick визивається, коли користувач натискає у формі кнопку з написом Go to page.
Насамперед ця функція шукає параметр cookie з ім'ям Visit. Якщо такий параметр не знайдений, рахується, що сторінка посещается в перший разом. У цьому випадку функція btnClick створює параметри cookie з іменами Visit і Count, а потім формує текст документа HTML із запрошенням.
addCookie("Visit","Alexandr_Frolov",10);
addCookie("Count","0",10);
document. write("<H2>You are welcome! </H2>");
У тому випадку, коли користувач відвідує сторінку повторно, параметр cookie з ім'ям Visit вже існує. У цьому випадку функція btnClick намагається знайти параметр з ім'ям Count і одержати його значення:
var szCnt = findCookie("Count");
Це значення потім збільшується на одиницю і записується обернено в параметр cookie з ім'ям Count:
i = szCnt;
i++;
szCnt = i. toString();
addCookie("Count",szCnt,10);
Завершуючи свою роботу, функція btnClick записує запрошення для користувачів , що відвідали повторно сторінку , і відображає уміст властивості document. cookie:
document.write("<H2>You are welcome AGAIN! </H2>");
document. write(document. cookie);
Оброблювач події onClick кнопки з написом Remove All Cookies викликає функцію removeCookie для параметрів cookie з іменами Count і Visit, удаляя їх:
<imput TYPE="button" VALUE="Remove All Cookies"
0nClick="removeCookie ('Count'); removeCookie ('Visit')">