Благодарю. Починил это.

аботает функция Google Analytics Site Speed,_gaq.push(['_trackPageLoadTime']), работай? Есть ли документация о том, как это работает?

 Yahel29 мая 2011 г., 16:10
@ stuken.yuri - это синтаксис асинхронного вызова Google Analytics. Это в основном означает: добавить функцию (имя)_trackPageLoadTime в очередь, а затем последовательно запускать все функции в этой очереди после загрузки ga.js. Это позволяет безопасно загружатьga.js асинхронно.

Ответы на вопрос(1)

Решение Вопроса

редактировать: По состоянию на 16 ноября 2011 г._trackPageLoadTime функция устарела, а ее функциональность установлена ​​в качестве настройки по умолчанию, (С функциональной точки зрения он превратился из функции отказа в поддержку отказа).

_setSiteSpeedSampleRate это новая функция для установки частоты дискретизации для этой функции; его значение по умолчанию1 (как в 1%). Чтобы отказаться от использования этой функции скорости сайта, вы должны пройти0 к этой функции:

_gaq.push(["_setSiteSpeedSampleRate", 0]);

ИзСправочный центр Google Analytics:

В настоящее время этот отчет поддерживает следующие браузеры: Chrome, Internet Explorer 9 и предыдущие версии Internet Explorer с установленной панелью инструментов Google. В частности, для отчетов о скорости сайта требуются браузеры, поддерживающие интерфейс NavigationTiming в HTML5, или установлена ​​панель инструментов Google Internet Explorer.

Таким образом, он не реализует свой собственный таймер, как это было во многих предыдущих решениях для возвращения домой, чтобы выяснить, сколько времени занимает загрузка страницы. Вместо этого он использует новую функцию HTML5, которая в настоящее время поддерживается только в перечисленных выше случаях, которая называется NavigationTiming.

РЕДАКТИРОВАТЬ: Теперь это поддерживается вFirefox 7

(Важно отметить, что он не запускается при каждой загрузке; вместо этого он в настоящее время производит выборку около 2% просмотров страниц, хотя настроен напытаться отслеживать все загрузки страниц при 10% посещений; поскольку все больше браузеров поддерживают API NavigationTiming, можно ожидать, что общий процент выборки начнет приближаться к 10%.)

Доступ к этому интерфейсу осуществляется через объект DOMwindow.performance (или в более ранних версиях Chromewindow.webkitPerformance), с помощьюtiming атрибут (так,window.performance.timing). Объект хранит измеренные значения всех времен события загрузки ключевой страницы, и Google Analytics вычитает 2 из наиболее важных внешних значений, чтобы оценить скорость загрузки страницы.

Для загрузки Mashable.com без кеша, вот пример того, что он измеряет (в Chrome 11):

timing = {
  connectEnd: 1306677079337,
  connectStart: 1306677079337,
  domComplete: 1306677083482,
  domContentLoadedEventEnd: 1306677081765,
  domContentLoadedEventStart: 1306677081576,
  domInteractive: 1306677081576,
  domLoading: 1306677079478,
  domainLookupEnd: 1306677079337,
  domainLookupStart: 1306677079337,
  fetchStart: 1306677079337,
  loadEventEnd: 1306677083483,
  loadEventStart: 1306677083482,
  navigationStart: 1306677079337,
  redirectEnd: 0,
  redirectStart: 0,
  requestStart: 1306677079394,
  responseEnd: 1306677079669,
  responseStart: 1306677079476,
  secureConnectionStart: 0,
  unloadEventEnd: 0,
  unloadEventStart: 0
}

Эти числа представляют собой миллисекунды эпохи или миллисекунды с 1 января 1970 года. Я не видел никакой документации относительно того, какие значения они вычитают для генерации своих значений, но из беглого осмотраga.jsпохоже этоloadEventStart-fetchStart:

h&&h[c]!=k&&h.isValidLoadTime?b=h[c]:e&&e[a]&&(b=e[a].loadEventStart-e[a].fetchStart);

Для приведенного выше примера это означает, что он будет записывать4,14 секунды в_trackPageLoadTime вызов.

Из спецификации W3C Navigation Timing:

атрибут fetchStart

Если новый ресурс должен быть выбран с использованием HTTP GET или эквивалентного ему, fetchStart должен немедленно вернуть время, прежде чем пользовательский агент начнет проверять любые соответствующие кеши приложений. В противном случае он должен возвращать время, когда пользовательский агент начинает извлекать ресурс.

атрибут loadEventStart

Этот атрибут должен возвращать время непосредственно перед тем, как будет запущено событие загрузки текущего документа. Он должен возвращать ноль, когда событие загрузки еще не запущено.

Для любопытных сторон порядок выглядит следующим образом:

connectStart, connectEnd, domainLookupStart, domainLookupEnd, fetchStart, navigationStart, requestStart, responseStart, domLoading, responseEnd, domContentLoadedEventStart, domInteractive, domContentLoadedEventEnd, domComplete, loadEventStart, loadEventStart

Для 0 значений в списке:

unloadEventStart а такжеunloadEventStart показать время выгрузки предыдущей страницы (но только если эта страница имеет то же происхождение, что и текущая)

redirectEnd а такжеredirectStart измерьте добавленную задержку, если в цепочке загрузки страницы было перенаправление HTTP.

secureConnectionStart представляется необязательным измерением для измерения времени соединения SSL.

 Sid30 мая 2011 г., 09:28
Вы рок чувак, серьезно. Спасибо за такой сложный ответ.
 Eric27 сент. 2011 г., 23:03
secureConnectionStart является стандартным измерением, но для браузера (или любого другого, который обрабатывает контент) необязательно сообщать.w3c-test.org/webperf/specs/NavigationTiming/...
 Yahel27 сент. 2011 г., 23:18
Благодарю. Починил это.
 Eduardo15 июн. 2011 г., 01:30
Теперь это ответ!

Ваш ответ на вопрос