日期:2014-05-16  浏览次数:20491 次

怎么解决jquery动态加载的问题
我写了个js插件changeCss.js:
JScript code

$(document).ready(function () {
    $("#header").css("color", "red");
    ...
    ...
    ...
});



插件依赖于jquery,有时候,别人使用这个插件,没有引入jquery.js文件,我就想把jquery.js的引入放到changeCss.js里处理。
如果html没有引入jquery.js,那么,changeCss.js就加载jquery.js.

怎么实现呢?

------解决方案--------------------
HTML code

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="gb2312" />
        <title></title>
        <style>
        </style>
        <script>
            window.jQuery ? loadJQ = true : loadJQ =false;
            var myJQ = function(){
                jQuery(function(){
                    alert( $('#test').html() );
                })
            };
            if(loadJQ){
                myJQ();
            }else{
                var s = document.createElement('script');
                s.src = 'http://code.jquery.com/jquery-latest.js';
                document.getElementsByTagName('head')[0].appendChild(s);
                if(s.readyState){
                    s.onreadystatechange = function(){
                        if(s.readyState == 'complete' || s.readyState == 'loaded'){
                            s.onreadystatechange = null;
                            myJQ();
                        }
                    }
                }else{
                    s.onload = function(){
                        myJQ();
                    }
                }
            }
        </script>        
    </head>
    <body>
        <div id="test">测试</div>
    </body>
</html>