Статистика на флеш-сайті
Колись, займаючись опрацюванням питання, чи можлива якісна статистика відвідування флеш-сайту, не знайшов в інтернеті якоїсь конкретної та корисної інформації з цього приводу. А завдання досить проста і зрозуміла - мати статистику відвідування користувачами різних сторінок і розділів флеш-сайту.
У чому складність? У тому, що флеш-сайт являє собою один або кілька флеш-фільмів, впроваджених у код сторінки. Переходи користувача з однієї сторінки на іншу відбуваються усередині флеш-фільму без перезавантаження html-сторінки, що не властиво для класичних систем статистики, які потребують перезавантаження сторінки разом із якимось лічильником (зображенням).
У нас це питання постало при розробці сайту Coca-Cola. Сайт планувався бути на флеші, але при цьому має бути статистика відвідування сторінок та розділів. Причому статистика не просто з кількістю скільки людей зайшло на якийсь розділ, а статистика інтелектуальна - з можливостями як на SpyLog'і.
Використовувати логи сервера теж не можна - флеш-фільми завантажуються в кеш користувача і переходи між сторінками за клієнта не відстежити ніяк.
Вирішення проблеми було знайдено вночі на кухні перед холодильником. Чому ця ідея прийшла вночі перед холодильником – уявлення не маю, але фонове завдання мозку знайшло рішення.
Загалом, я вже поставив завдання так, що рішення має бути частково зрозумілим. Відповідно до теорії рішення винахідницьких завдань: для статистики на флеш-сайті ми повинні мати html-сторінки, що перезавантажуються, з кодом лічильника і не повинні їх мати, т.к. це флеш-сайт. Наявна суперечність, яку треба вирішити. Рішення: треба розбити вікно з флеш-сайтом на 2 фрейми - один фрейм буде містити сторінку з флеш-фільмом, другий - html-файли, що підвантажуються, з кодом лічильника.Умовну схему дивися малюнку.

Фрейм site містить код вбудовування у сторінку флеш-фільму. Фрейм stat містить код лічильника і має бути прихований від користувача, щоб у останнього не виникало зайвих питань у його необхідності. Зробити це можна наступним чином, оголосивши кадри в індексному файлі:
Фрейм site має розмір по вертикалі 100%, а другий кадр при цьому випадає за межі вікна.
Очевидно, що структура html-файлів статистики має підкорятися структурі самого флеш-сайту – це перше. І друге – будь-який навігаційний елемент флеш-сайту повинен перевантажувати html-файл у другому фреймі. Таким чином, ми робимо два кроки:
- створюємо структуру файлів статистики та самі файли;
- впроваджуємо у флеш-фільм на кожен елемент, що управляє, простий ActionScript, що перезавантажує файл у кадрі stat .
Файл статистики (знаходиться у фреймі stat) є найменшим html-файлом з кодом лічильника або взагалі порожнім html-файлом, якщо статистику ми будемо вести по логах сервера. Структуру файлів статистики можна зробити як статичну, так і динамічну (наприклад, використовуючи mod_rewrite на Unix-платформах), але це вже питання конкретної реалізації, що не мають відношення до самої ідеї.
До речі, тим же методом можна відслідковувати, чи дочекався користувач завантаження основного фільму, чи ні. Як це зробити? Думаю, що все має бути кристально зрозумілим.