How do I dynamically load Google Analytics JavaScript?

前端 未结 5 2267
[愿得一人]
[愿得一人] 2020-12-02 21:29

Without using any other JS frameworks (dojo, jquery, etc), how would I dynamically load Google Analytic\'s javascript to be used on a web page for w

5条回答
  •  盖世英雄少女心
    2020-12-02 21:48

    function loadGA()
    {
        if(typeof _gat == 'function') //already loaded
        {
            //innitGA();
            // you may want the above line uncommented.. 
            // I'm presuming that if the _gat object is there
            // you wouldn't want to.
            return;
        }
        var hostname = 'google-analytics.com';
        var protocol = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
        js = document.createElement('script');
        js.setAttribute('type', 'text/javascript');
        js.setAttribute('src', protocol+hostname+'/ga.js');
        document.body.appendChild(js);
        //2 methods to detect the load of ga.js
        //some browsers use both, however
        loaded = false; // so use a boolean
        js.onreadystatechange = function () {
            if (js.readyState == 'loaded') 
            { 
                if(!loaded)
                {
                    innitGA();
                }
                loaded = true;
            }
        };
        js.onload = function () 
        {
            if(!loaded)
            {           
                innitGA();
            }
            loaded = true;
        };
    }
    
    function innitGA()
    {
        //var pageTracker = _gat._getTracker('GA_ACCOUNT/PROFILE_ID');
        //pageTracker._initData();
        //pageTracker._trackPageview();
        alert('oh hai I can watch plz?');
    }
    

    just call loadGA()... tested on IE6/7/8, FF3, Chrome and Opera

    sorry if I'm a bit late to this party.

提交回复
热议问题