Как отправить время загрузки страницы в Google Analytics в angular 6/7/8 - PullRequest
0 голосов
/ 24 февраля 2020

В настоящее время я использую Google Analytics для этого. Я следил за блогом codeburst и все работает нормально, только я застрял со временем загрузки страницы, если я не ошибаюсь в каждой аналитике загрузки страницы. js отправляет время загрузки страницы (plt), что нормально для многостраничного приложения, но у меня есть приложение SPA (angular 6) при изменении маршрута, оно не отправляет время загрузки страницы только потому, что оно не перезагружается. Я использовал приведенный ниже код в теге скрипта сразу после тега head индекса. html file

(function (i, s, o, g, r, a, m) {
 i['GoogleAnalyticsObject'] = r;
  i[r] = i[r] || function () {
    (i[r].q = i[r].q || []).push(arguments)
  }, i[r].l = 1 * new Date();
  a = s.createElement(o),
    m = s.getElementsByTagName(o)[0];
  a.async = 1;
  a.src = g;
  m.parentNode.insertBefore(a, m)
 })(window, document, 'script', 'https://www.google-analytics.com/analytics_debug.js', 'ga'); ga('create','UA-14XXXXX-1',  {'siteSpeedSampleRate': 100})

А в файле app.component.ts я использую

   this.router.events.subscribe(event => {
  if (event instanceof NavigationEnd) {
    const urlList = event.urlAfterRedirects.split('?');
      (<any>window).ga('set', 'page', urlList[0]);
      (<any>window).ga('send', 'pageview');
  }
});

Этот код дает время, затраченное только на целевую страницу, но не работает для страниц маршрута и отображается как время загрузки страницы в Google Analytics. Пожалуйста, дайте мне знать, как я могу отправить время, необходимое каждой странице для полной загрузки. Заранее спасибо

...