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

关于加载顺序
<html>
 <head>
  <title> New Document </title>
 </head>
 <body>
<script>
function test(){
if(confirm('继续?')){
document.write('<script src="jQuery.js" type="text/javascript" id="hello"><\/script>')
}else{
alert('您取消了')
}
setTimeout(function(){alert('加载完成')},3000);
};
</script>
<input type=button value=test onclick='test()'>
 </body>
</html>
这个代码,我想让点击按钮之后在页面中加载jQuery,然后五秒之后弹出加载完成,需要怎么改?  这样写总是弹不出来,但是写成<script> (function test(){.....}()</script>这样就可以,为什么?

------解决方案--------------------
页面加完成后不能用 document.write,不然会清除原来的代码
document.write('<script src="jQuery.js" type="text/javascript" id="hello"><\/script>')
------解决方案--------------------

<script> 
    var oHead = document.getElementsByTagName('HEAD').item(0); 
    var oScript= document.createElement("script"); 
    oScript.type = "text/javascript"; 
    oScript.src="test.js"; 
    oHead.appendChild( oScript); 
</script> 

可以用这个来动态添加,安全可靠,页面其他元素没有影响
------解决方案--------------------
替换掉已引进的jssrc或者动态添加个script
<script src='' id="test"></script> 
<script language="javascript"> 

    test.src="jQuery.js" 

</script>
 




<script> 

    var oHead = document.getElementsByTagName('HEAD').item(0); 

    var oScript= document.createElement("script"); 

    oScript.type = "text/javascript"; 

    oScript.src="jQuery.js"; 

    oHead.appendChild( oScript); 

</script>