Как реализовать аналитику в Facebook с Barba.js

Я использую эту библиотеку barba.js и пытаюсь реализовать аналитику Google и Facebook.
Я реализовал это, как упомянуто в официальной документации, но так как barba.js не перезагружает верхний и нижний колонтитулы снова и снова, а просто перезагружает barba-container div, который заставлял Google Analytics записывать только просмотр страницы на первой странице, куда попадает пользователь, а не на другие страницы.

Эта проблема была решена путем вызова в onEnterCompleted Крюк взглядов и его решены.

Но проблема, с которой я сталкиваюсь сейчас, - это аналитика в Facebook, которая упоминается ниже.

window.fbAsyncInit = function() {
FB.init({
  appId      : 'xxxxxxxxxxxxx',
  cookie     : true,
  xfbml      : true,
  version    : 'v3.3'
});
FB.AppEvents.logPageView();   


};

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "https://connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));

Если я возьму этот код в представлении Barba.js onEnterCompleted хук, это будет вспоминаться снова и снова, но я не уверен, что это лучшая практика или нет, или это будет работать так, как ожидалось.
Если кто-то реализовал аналитику в Facebook с помощью barba.js, поделитесь своим примером.
Большое спасибо!

РЕДАКТИРОВАТЬ: Я реализовал Google Analytics таким образом с barba.js после просмотра этой ссылки.

function analytics() {
    var path = (window.location.href).replace(window.location.origin, '').toLowerCase();

    window.dataLayer = window.dataLayer || [];
    function gtag() { dataLayer.push(arguments); }
    gtag('js', new Date());

    gtag('config', 'UA-xxxxxxxx-x', {
        'page_path': path
    });
    console.log('view sent', path);
}

Я создал эту функцию и вызвал ее onEnterCompleted который решил проблему с Google Analytics

0 ответов

Другие вопросы по тегам