Делаем статистику динамической
Итак, мы узнали, как подготовить внешний 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);
Видим, что в первом случае у нас загрузка сильно ускоряется (особенно для постоянных посетителей), во втором случае – получается дешево и сердито, зато более надежно (в смысле отсутствия дополнительного вмешательства в исходный код).
Дата добавления: 2015-05-19; просмотров: 659;