ядок браузера.
Array ([0] => «строка_запроса_AJAX», [1] => «строка_состоянія_страніци»).
Таким чином, ця функція може бути викликана до моменту виконання AJAX-запиту, рядок запиту може бути використана в момент запиту, рядок стану - після виконання запиту для приміщення в адресний рядок браузера. Нижче наведено типовий приклад:
/ / виклик функції
var paths=ajax_state_string («#« justify" > / *
далі йде ajax-запит з використанням технології AJAX до сторінці з адресою paths [0]
* /
/ / зберігаємо рядок стану в адресному рядку браузера
window.location +=«#» + paths [1];
Наступним кроком є ??написання функції для відновлення з адресного рядка браузера стану завантаженої сторінки:
function restore_hash_part (path, result_block, ar_next, ajax_status_id, filterupped) {} ??
Функція приймає наступні параметри:
- path - шлях, вказаний в адресному рядку браузера;
- result_block - ID елементу сторінки, в який повинен бути завантажений результат;
- ar_next - масив, містить в якості першого елемента (індекс - 0) ім'я змінної, в якості другого елементу (індекс 1) значення змінної, що вказує на те, що має сенс відновлювати стан (це не простий , а ajax-запит);
- ajax_status_id - ID елементу сторінки для візуальної анімації процесу відновлення стану;
- filterupped - логічна змінна. Якщо true, процес відновлення виконано не буде;
Ця функція може бути викликана відразу після завантаження сторінки. Типовий приклад використання:
/ / момент завантаження сторінки
window.onLoad=function ()
{_hash_part (window.location, «result_block_id», new Array («filter», «up»), «ajax_status_id», false));
}
Дві дані функції в сукупності утворюють інтерфейс збереження стану сторінок розробленого web-додатки та використовуються на різних сторінках web-додатки для збереження історії AJAX-запитів. Використання даних функцій вирішує проблему неможливості використання кнопок «назад» і «вперед» в панелі web-браузера, збереження адрес сторінок з даними, отриманими за допомогою AJAX-запитів, в закладках і при перезавантаженні сторінки.
У попередньому розділі при створенні структури web-додатки не було враховано вимогу «оцінка гри повинна вважатися на основі оцінок, зазначених в оглядах до гри». Дана вимога могло б бути реалізовано в логіці роботи компонентів, що виводять інформацію по іграх. Але кожен раз підраховувати оцінку, постійно звертаючись до елементів інформаційного блоку «Огляди», занадто ресурсномістких з точки зору використання ресурсів комп'ютера і швидкості роботи сторінок web-додатки. Наприклад, один із списків ігор містить 40 записів, кожна з яких співвідноситься в середньому з п'ятьма оглядами. Разом - потрібно переглянути в середньому 200 оглядів, що може помітно збільшити швидкість завантаження сторінки. Найбільш прийнятним засобом реалізації вимоги була б можливість автоматичного розрахунку і установки значення оцінки гри при створенні, зміні або видаленні огляду, тобто...