我希望异步加载jquery,加载好了再由本页面的js调用,以下是我写的代码,总要出问题,在各浏览器中调试了很久了。故来请教高手们给个说法,先谢谢了。
<script type="text/javascript" src="" id="jquery"></script>
<script type="text/javascript">
var loadJquery = document.getElementById('jquery');
       window.onload = function(){
              loadJquery.src = 'jquery.js';
              function testLoad(){
                     if(!window.jQuery){
                            window.setTimeout('loadJquery',1000);
                            }
                     else if(window.jQuery){
                            alert('jQuery is ok!');
                            }
                     }
              testLoad();
              };
</script>

解决方案 »

  1.   

    <script type="text/javascript">
    window.onload = function(){
    document.write('<script type="text/javascript" src="jquery'+'.js"></sc'+'ript>');
    };
    </script>
      

  2.   

    谢谢你,从我的问题看来,问题在于异步加载完成以后,我如何在当前页面知道Jquery已经加载完成。
      

  3.   

    目前的js的规范下,整个javascrpt的runtime只有一个线程,所以,你任何时候检测,比如用setInterval,如果jQuery是一个object,就表示load完成。
      

  4.   

    <script type="text/javascript">
    function jquerycomplete(){
    alert('jquery加载完成');
    }
    window.onload = function(){
    document.write('<script type="text/javascript" src="jquery'+'.js"></sc'+'ript>');
    };
    </script>jquery.js 你最后一行加个调用函数  jquerycomplete();
      

  5.   

    谢谢楼上两位的解答,都说得很有道理,并且都是正确的。在结贴以前我已经通过请教他人解决了这个问题,就是在window.onload事件的处理函数中调用一个检测是否加载完成的函数。3楼的说法是对的,但我的代码就是在检测是否有jQuery对象了,我的问题就是没有正确实现,问的原因就是请教如何具体实现,说得对,但有点抽象。4楼的方法很好,只是把一个函数调用加到一个库中似乎没有告诉我的在window.onload事件处理函数中调用检测函数幽雅。