Делаем статистику динамической

Делаем статистику динамической

Итак, мы узнали, как подготовить внешний JavaScript-файл к динамической загрузке. Осталось понять, как теперь это использовать.

Основное преимущество (или недостаток?) Omniture заключается в том, что JavaScript-файл (обычно s_code.js) располагается на нашем сервере. Поэтому ничего не мешает нам его там и заменить. После этого обеспечить динамическую загрузку и вызов счетчика уже не составит труда.

В той ситуации, когда скрипт совсем внешний (Google Analytics), у нас по большому счету только 2 выхода:

Перенести сам скрипт на наш сервер, добавить в него необходимые инициализационные переменные и вызов (помимо самого объявления) функции статистики (для Google Analytics это urchinTracker()). В качестве плюсов можно отметить то, что в общем случае скрипт будет загружаться с нашего сервера побыстрее, чем будет устанавливаться новое соединение с www.google-analytics.com и проверяться, что файл не изменился. В качестве минусов — необходимость отслеживать (возможные) изменения скрипта и необходимость отдавать JavaScript-файл с собственного сервера со всеми вытекающими из этого последствиями.

Проверять через определенные промежутки времени, загрузилась ли библиотека. Пишется очень простой код, который через каждый 10 мс проверяет, доступна ли из библиотеки необходимая функция. Если да, то она вызывается. В противном случае проверка запускается снова через 10 мс. Плюсы: можно использовать тот же самый скрипт, что и раньше. Минусы: дополнительная (небольшая) нагрузка на клиентский браузер при загрузке. В качестве примера можно рассмотреть следующий код для Goole Analytics:

var _counter_timer = setInterval(function() {

if (urchinTracker) {

urchinTracker();

clearInterval(_counter_timer);

}

}, 10);

Видим, что в первом случае у нас загрузка сильно ускоряется (особенно для постоянных посетителей), во втором случае — получается дешево и сердито, зато более надежно (в смысле отсутствия дополнительного вмешательства в исходный код).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

2. Работа с динамической памятью. Нетипизированные указатели

Из книги Информатика и информационные технологии: конспект лекций автора Цветкова А В

2. Работа с динамической памятью. Нетипизированные указатели Процедуры и функции работы с динамической памятью 1. Процедура New(var p: Pointer). Выделяет место в динамической области памяти для размещения динамической переменной рЛ, и ее адрес присваивает указателю


Аргументы в пользу динамической типизации

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Аргументы в пользу динамической типизации Несмотря на все это, динамическая типизация не теряет своих приверженцев, в частности, среди Smalltalk-программистов. Их аргументы основаны прежде всего на реализме, речь о котором шла выше. Они уверены, что статическая типизация


Функции динамической загрузки

Из книги Справочник по PHP автора

Функции динамической загрузки dlЗагрузка библиотеки расширения PHP во время выполнения.Синтаксис:int dl(string library);dl("extensions/php_db.dll");Загружает PHP расширение определенное в library.get_loaded_extensionsОпределения перечня загруженных модулей.Синтаксис:array get_loaded_extensions(void);Возвращает массив,


Понятие статической и динамической веб-страницы

Из книги Веб-Самоделкин. Как самому создать сайт быстро и профессионально автора Гладкий Алексей Анатольевич

Понятие статической и динамической веб-страницы Ранее мы уже кратко говорили о том, что представляют собой статические и динамические веб-страницы. В данном же разделе мы рассмотрим этот вопрос более детально.Название статической страницы говорит само за себя: на такой


1.4. Сборка динамической библиотеки из командной строки

Из книги C++. Сборник рецептов автора Диггинс Кристофер

1.4. Сборка динамической библиотеки из командной строки ПроблемаВы хотите использовать свои инструменты командной строки для сборки динамической библиотеки из набора исходных файлов С++, таких как перечисленные в примере 1.2.РешениеВыполните следующие шаги.1. Используйте


1.9. Сборка динамической библиотеки с помощью Boost.Build

Из книги Инфобизнес на полную мощность [Удвоение продаж] автора Парабеллум Андрей Алексеевич

1.9. Сборка динамической библиотеки с помощью Boost.Build ПроблемаВы хотите использовать Boost.Build для сборки динамической библиотеки из набора исходных файлов С++, таких как перечисленные в примере 1.2.РешениеВ директории, где вы хотите создать динамическую библиотеку и, если


1.12. Сборка динамической библиотеки с помощью IDE

Из книги FictionBook Editor V 2.66 Руководство автора Izekbis

1.12. Сборка динамической библиотеки с помощью IDE ПроблемаВы хотите использовать IDE для сборки динамической библиотеки из набора исходных файлов С++, таких как перечисленные в примере 1.2.РешениеОсновная процедура выглядит следующим образом.1. Создайте новый проект и


11.14. Реализация динамической матрицы

Из книги Продвижение бизнеса в ВКонтакте [Быстро и с минимальными затратами] автора Румянцев Дмитрий

11.14. Реализация динамической матрицы ПроблемаТребуется реализовать числовые матрицы, размерности которых (количество строк и столбцов) неизвестны на этапе компиляции.РешениеВ примере 11.28 показана универсальная и эффективная реализация класса динамической матрицы,


А.2. Поиск ошибок в динамической памяти

Из книги автора

А.2. Поиск ошибок в динамической памяти При написании программы зачастую неизвестно, сколько памяти потребуется ей во время выполнения. Например, строка, читаемая из файла, может иметь любую длину. Работа с динамической памятью осуществляется посредством функций malloc(),


А.2.1. Программа для тестирования динамической памяти

Из книги автора

А.2.1. Программа для тестирования динамической памяти Программа malloc-use, приведенная в листинге А.2, позволяет тестировать операции выделения, освобождения и обращения к памяти. Единственный аргумент командной строки задает максимальное число выделяемых буферов. Например,


Приложение 4. Как узнать статистику конкурентов

Из книги автора

Приложение 4. Как узнать статистику конкурентов Иногда полезно изучить статистику конкурентов или просто интересных сообществ. Если статистика конкурентов не закрыта (в этом случае она доступна администраторам), ее можно подсмотреть следующим образом.Введите в


Режим с динамической компоновкой

Из книги автора

Режим с динамической компоновкой Особенности режима с динамической компоновкойКак было отмечено выше, с помощью кнопки быстрого доступа Режим" и связанной с ней клавиши F4 можно осуществлять переключение между двумя режимами окна задачника: традиционного режима с