एसिंक्रोनस एनालिटिक्स स्निपेट का काम एक और गहन स्क्रिप्ट लोड करना है जो उपयोगकर्ता के ब्राउज़र को सभी प्रकार की जानकारी के लिए उनकी पहचान करने का निरीक्षण करता है, इसलिए यह विश्लेषिकी सर्वर पर वापस रिपोर्ट कर सकता है। हालांकि, चूंकि यह सभी एनालिटिक्स डेटा पृष्ठ की उपयोगिता के लिए महत्वपूर्ण नहीं है, इसलिए Google इसे ब्राउज़र की सुविधा पर चलाने की इच्छा रखता है।
सिद्धांत रूप में, वे प्रोग्रामर को पृष्ठ के बहुत नीचे, शरीर के अंतिम तत्व के रूप में एसिंक्रोनस स्निपेट जोड़ने की सलाह दे सकते हैं। हालांकि, प्रोग्रामर को एनालिटिक्स भेजने के लिए यूआई घटनाओं को कैप्चर करने की अनुमति देने के लिए, वे _gaq
वैरिएबल को जल्दी उपयोग के लिए बनाना चाहते हैं। उदाहरण के लिए, आपके पास एक बटन हो सकता है: <button onclick="_gaq.push(...)">Track</button>
। _gaq
को प्रारंभ में उपलब्ध करके, एसिंक्रोनस स्निपेट में कोड का छोटा सा हिस्सा इन संदेशों को कतारबद्ध करेगा और भारी ga.js
उन्हें बाद में सर्वर पर भेज देगा।
अब, कुछ implementation details: ga.js
async
विशेषता निर्धारित साथ दस्तावेज़ के शीर्ष के लिए एक नया <script>
तत्व जोड़कर भरी हुई है। आईई और वेबकिट स्क्रिप्ट से डाले गए <script>
टैग असीमित रूप से लोड करेंगे। फ़ायरफ़ॉक्स और ओपेरा async
विशेषता का सम्मान करेंगे और स्क्रिप्ट को असीमित रूप से लोड करेंगे। किसी भी तरह से, ga.js
ब्राउज़र की सुविधा पर, असीमित रूप से लोड किया गया है।
अंत में, एक बार ga.js
अतुल्यकालिक लोडिंग की वजह से क्रियान्वित किया जाता है पृष्ठ प्रतिपादन को रोके बिना, यह _gaq
कतार में उपयोगकर्ता के डाटा और किसी भी गए संदेशों के सभी एकत्रित करने की भारी काम करते हैं और उन्हें सर्वर से भेज सकते हैं।
सारांश: यह दृष्टिकोण एक छोटे इनलाइन स्क्रिप्ट कि _gaq
से पहले पूर्ण ga.js
स्क्रिप्ट तैयार है अपने पृष्ठ तक पहुँच सकते हैं जैसे कुछ प्रमुख कारकों के initializes उपयोग करता है। यह छोटी स्क्रिप्ट भी गतिशील रूप से दस्तावेज़ में <script src="ga.js">
टैग जोड़ती है ताकि अधिकांश ब्राउज़र पृष्ठ के प्रतिपादन को अवरुद्ध किए बिना या महत्वपूर्ण स्क्रिप्ट के मूल्यांकन को अवरुद्ध किए बिना इसे असीमित रूप से डाउनलोड और निष्पादित कर सकें।
मैंने वास्तव में शुरुआत में इस प्रतिक्रिया को कम किया लेकिन इसे फिर से पढ़ने और फिर से पढ़ने के बाद यह समझ में आता है ... यह वह हिस्सा था जो मेरे लिए प्रकाश बल्ब को बंद कर देता था ... "आखिरकार, एक बार ga.js को निष्पादित किए बिना, निष्पादित किए बिना एसिंक्रोनस लोडिंग के कारण पृष्ठ प्रतिपादन, यह उपयोगकर्ता के सभी डेटा एकत्र करने और _gaq कतार में किसी भी संदेश को एकत्र करने का भारी काम कर सकता है और उन्हें सर्वर पर भेज सकता है "... इसलिए मैं मूल रूप से यदि आप स्क्रिप्ट डालते हैं पृष्ठ के निचले हिस्से में, आप Google से कह रहे हैं कि आपको पृष्ठ के बाद लोड होने वाली स्क्रिप्ट को कोई फर्क नहीं पड़ता है, इसलिए आगे बढ़ें और उनके सामने विश्लेषण भी लोड करें! – concept47