यह वही काम करेगा, लेकिन अगर आप Google कोड में उपयोग किए गए पहचानकर्ता के साथ एक चर घोषित कर चुके हैं, तो यह आसानी से आपके पृष्ठ पर अन्य स्क्रिप्ट तोड़ सकता है।
एक बंद करने में घोषणा को लपेटकर, चर को अज्ञात फ़ंक्शन पर स्कॉप्ड किया जाता है और वैश्विक दायरे में रिसाव नहीं होता है। इसके बिना
var ga = "something important for my script"; // Not overwritten in this scope
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
और यह उदाहरण:
उदाहरण के लिए, नई गुंजाइश के साथ इस उदाहरण पर विचार
var ga = "something important for my script"; // Overwritten!
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
स्रोत
2012-10-31 08:01:53
यह 'जीए' और 'एस' चर के साथ वैश्विक नामस्थान को प्रदूषित करने से बचने के लिए है। – AKX