stiig
3/8/2017 - 6:16 PM

Counter for turbolinks with yandex metrika

Counter for turbolinks with yandex metrika

(function (d, w, c) {
    (w[c] = w[c] || []).push(function () {
        try {
            w.yaCounter99999999 = new Ya.Metrika({
                id: 99999999,
                clickmap: true,
                trackLinks: true,
                accurateTrackBounce: true,
                webvisor: true
            });
        } catch (e) {
        }
    });

    var n = d.getElementsByTagName("script")[0],
        s = d.createElement("script"),
        f = function () {
            n.parentNode.insertBefore(s, n);
        };
    s.type = "text/javascript";
    s.async = true;
    s.src = "https://mc.yandex.ru/metrika/watch.js";

    if (w.opera == "[object Opera]") {
        d.addEventListener("DOMContentLoaded", f, false);
    } else {
        f();
    }
})(document, window, "yandex_metrika_callbacks");

$(document).on('turbolinks:before-visit', function () {
    window.turbolinks_referer = location.href;
});

$(document).on('turbolinks:load', function () {
    if (window.turbolinks_referer) {
        // yandex metrika
        if (window.yaCounter99999999) {
            window.yaCounter99999999.hit(location.href, $('title').html(), window.turbolinks_referer);
        }
    }
});