यह नवीनतम सार्वभौमिक ट्रैकिंग कोड के लिए है।
हाल ही में, मुझे एक नई परियोजना के लिए अपना जवाब दोबारा बदलना पड़ा। मैंने कुछ मुद्दों पर ध्यान दिया कि मुझे साफ करना चाहिए।
प्रोग्रामेटिक रूप से पृष्ठदृश्य भेजने के लिए, आप केवल पथ और क्वेरी जैसे ही भेजना चाहते हैं। http://example.com/path/to/resource?param=1
के लिए हम /path/to/resource?param=1
भेजेंगे।
कुछ एसपीए अपने यूआरएल के लिए हैशबैंग्स (#!
) का उपयोग करते हैं। तो हमें हैशबांग के बाद कुछ भी भेजने की जरूरत है। जैसे http://example.com#!path/to/resource
हम /path/to/resource?param=1
भेज देंगे।
मेरे समाधान का पहला संस्करण गलत था और यूआरएल में हैश के सभी यूआरएल के लिए असफल हो जाएगा। साथ ही, जैसा कि मैं jQuery + History.js प्लगइन का उपयोग कर रहा था, मेरा समाधान statechange
सुनने के साथ था।
पृष्ठदृश्य भेजने के लिए इस नए कोड का उपयोग करें। यह अधिक लचीला है और हैशबैंग और इतिहास दोनों के लिए प्रदान करता है।
var loc = window.location,
hashbang = "#!",
bangIndex = location.href.indexOf(hashbang),
page = bangIndex != -1 ? loc.href.substring(bangIndex).replace(hashbang, "/") : loc.pathname + loc.search;
ga('send', 'pageview', page);
आप Hashbangs विशेष रूप से उपयोग नहीं करते हैं, तो बस मैच के लिए जैसे hashbang = "#!",
बदल hashbang = "#@",
यूआरएल में परिवर्तन होने पर इसका दूसरा भाग पता लगा रहा है। इसके लिए, आपको जो भी लाइब्रेरी आप उपयोग कर रहे हैं, उसके दस्तावेज़ों से आपको पता लगाना होगा।
jQuery + History.js प्लगइन के लिए, नीचे दिए गए कोड काम करता है
$(window).on('statechange', function() {
//put code here
});
अधिक जानकारी https://developers.google.com/analytics/devguides/collection/analyticsjs/single-page-applications
$(window).on('statechange', function() {
var loc = window.location,
page = loc.hash ? loc.hash.substring(1) : loc.pathname + loc.search;
ga('send', 'pageview', page);
});
में पाया जा सकता 0
प्रत्येक बार सामग्री लोड होने पर मैं इसे कैसे कॉल करूं? क्या मैं पूरी स्क्रिप्ट को AJAX के माध्यम से वापस आने वाले '/ new/content' को प्रतिस्थापित करने वाले नए यूआरएल के साथ पुनः लोड करूं? – paulruescher
बस इसे यहां वर्णित विंडो.popstate पर कॉल करें जैसे https://developer.mozilla.org/en-US/docs/DOM/window.onpopstate - यदि आप history.js का उपयोग करते हैं https://github.com/balupton/History .js/(अनुशंसित) आपने अपने 'स्टेटचेंज' ईवेंट कॉलबैक में डाल दिया है। Google ने अपनी 'पुश' विधि लागू की है - जो हैशबैंग्स का उपयोग करते समय अपने कस्टम डेटा – con