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

【救命帖】各位大哥,小弟求助啊,HTML中插入两个<script>,不能同时有用
----------------------HTML代码-------------------
<html>
<head>
<script src="addLoadEvent.js"></script>
<script src="test.js"></script>
</head>
<body>
<div>XXXXXX</div>
</body>
</html>
----------------addLoadEvent.js代码--------------
function addLoadEvent(func)
{
var oldload=window.onload;
if(typeof window.onload!='function')
{
window.onload=func;
}
else
{
window.onload=function()
{
oldload();
func();
}
}
}
---------------------test.js代码---------------------
function test()
{
var para=document.createElement("p");
var text=document.createTextNode("Hello World");
var bdy=getElementsByTagName("body")[];
para.appendChild(text);
bdy[0].appendChild(para);
}
addLoadEvent(test);
----------------------
啊呀呀,如果在addLoadEvent函数放到test,js中,就可以显示,但是如果把addLoadEvent单独写到addLoadEvent.js中刷新就什么也没有了,按照理论应该是可以这样的啊,小弟百思不得其解啊,各位帅哥美女大神们救救小白吧!!谢谢你们了~~

------解决方案--------------------
晕哦,都没有看懂你要实现什么东西~~
我运行没有问题啊,你的js我都没有改动,调试了一下,你的问题就是
var bdy = document.getElementsByTagName("body");默认获取的就是数组形式的,所以不用加[],
再就是,你引入外部的js,页面上也要调用啊,所以我在页面加载的时候调用了你的test();其余的没有变动
最后页面显示的效果就是 在AAAAA下面显示了 Hello World


HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="JavaScript" src="/otherJs/test.js" type="text/javascript"></script>
<!-- --> <script language="JavaScript" src="otherJs/addLoadEvent.js" type="text/javascript"></script> 
<title>Insert title here</title>
<script type="text/javascript">
    window.onload = function(){
        test();
    }
</script>
</head>
<body id="_body">
    <div>AAAAAAAAAAAAAAA</div>
</body>
</html>

------解决方案--------------------
1:js1.js
JScript code
function addLoadEvent(func){
    var oldload=window.onload;
    if(typeof window.onload!='function'){
        window.onload=func;
    }else{
        window.onload=function(){
            oldload();
            func();
        }
    }
}