关于加载顺序
<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>