判断jquery是否已经加载,如果没有动态加载

方法一:

// Only do anything if jQuery isn't defined
if (typeof jQuery == 'undefined') {

    if (typeof $ == 'function') {
        // warning, global var
        thisPageUsingOtherJSLibrary = true;
    }
    
    function getScript(url, success) {
    
        var script     = document.createElement('script');
             script.src = url;
        
        var head = document.getElementsByTagName('head')[0],
        done = false;
        
        // Attach handlers for all browsers
        script.onload = script.onreadystatechange = function() {
        
            if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) {
            
            done = true;
                
                // callback function provided as param
                success();
                
                script.onload = script.onreadystatechange = null;
                head.removeChild(script);
                
            };
        
        };
        
        head.appendChild(script);
    
    };
    
    getScript('http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', function() {
    
        if (typeof jQuery=='undefined') {
        
            // Super failsafe - still somehow failed...
        
        } else {
        
            // jQuery loaded! Make sure to use .noConflict just in case
            fancyCode();
            
            if (thisPageUsingOtherJSLibrary) {

                // Run your jQuery Code

            } else {

                // Use .noConflict(), then run your jQuery Code

            }
        
        }
    
    });
    
} else { // jQuery was already loaded
    
    // Run your jQuery Code

};




//该代码片段来自于: http://www.sharejs.com/codes/javascript/4281

方法二:document.write

var jQueryScriptOutputted = false;
function initJQuery() {
    
    //if the jQuery object isn't available
    if (typeof(jQuery) == 'undefined') {
    
        if (! jQueryScriptOutputted) {
            //only output the script once..
            jQueryScriptOutputted = true;
            
            //output the script (load it from google api)
            document.write("<scr" + "ipt type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></scr" + "ipt>");
        }
        setTimeout("initJQuery()", 50);
    } else {
                        
        $(function() {  
            // do anything that needs to be done on document.ready
            // don't really need this dom ready thing if used in footer
        });
    }
            
}
initJQuery();
//该代码片段来自于: http://www.sharejs.com/codes/javascript/4281

 

posted @ 2015-01-02 16:09  思如雨  阅读(1505)  评论(0编辑  收藏  举报