JS包含JS的问题,调试了好久都不行,求高手打救! 本帖最后由 godxiaocao1 于 2010-01-24 14:13:43 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 firebug调试下 看执行函数没有 没有执行函数!我用个短点代码来说:三个文件:1。ab.html代码如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"><HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>妯箙骞垮憡</TITLE><META http-equiv=Content-Type content="text/html; charset=gb2312"></HEAD><BODY><SCRIPT src="/456/a.js" type=text/javascript></SCRIPT><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td>sdf</td> </tr> <tr> <td>sadfdsf</td> </tr> <tr> <td> </td> </tr> <tr> <td> </td> </tr> <tr> <td> </td> </tr></table></BODY></HTML>2. a.js代码如下:document.write("<scr"+"ipt language=javascript src=/456/b.js></scr"+"ipt>"); {document.write("<div id=huashuolayer2 style='position: absolute;visibility:visible;z-index:1'><table width=0 border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>"+"<div id=huashuolayer3 style='position: absolute;visibility:visible;z-index:1'><table width=0 border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>");}winload()//}3。 b.js代码如下:function closeAd(){huashuolayer2.style.visibility='hidden';huashuolayer3.style.visibility='hidden';}function winload(){huashuolayer2.style.top=109;huashuolayer2.style.left=5;huashuolayer3.style.top=109;huashuolayer3.style.right=5;}调试时出现这样错误:网页错误详细信息用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)时间戳: Sun, 24 Jan 2010 07:07:21 UTC消息: 缺少对象行: 2字符: 1015代码: 0URI: http://localhost/456/a.js好明显,a.js文件中winload()函数未执行。如果把a.js文件改成这样就可以了。function closeAd(){huashuolayer2.style.visibility='hidden';huashuolayer3.style.visibility='hidden';}function winload(){huashuolayer2.style.top=109;huashuolayer2.style.left=5;huashuolayer3.style.top=109;huashuolayer3.style.right=5;} {document.write("<div id=huashuolayer2 style='position: absolute;visibility:visible;z-index:1'><table width=0 border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>"+"<div id=huashuolayer3 style='position: absolute;visibility:visible;z-index:1'><table width=0 border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>");}winload()//}有没有a.js包含进b.js实现效果的方法? 好奇怪。。我点击<a href=javascript:closeAd()> <img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0> </a>这个图片时,这个DIV就隐藏了,如果b.js没有包含进的的话,应该不会有反应才会的啊!! document.write(" <script type='text/javascript' sre='jquery.js'> </script>");(jquery.js文件里面的代码) document.write(" <div id=topBanBox style='DISPLAY:none' align=center> <a href='#'> <img height=250 src='test/newyear.jpg' width=900 border='0'> </a> </div> <div style='clear:both; overflow:hidden; height:0px;'> </div>"); $('#topBanBox').slideDown(1000);setTimeout(function(){$('#topBanBox').slideUp(2000);},5000); 这种方式,在执行$('#topBanBox')的时候,那个jquery.js其实还没加载进来IE和FF对这这种脚本里document.write加载js的的处理方式不一样,所以最好不要依赖动态加载。或者你用Ajax方式动态加载js,并在确定加载完成后才调用 $('#topBanBox') 其实就是一个顺序问题1.先加载js,再调用2.先调用,再完成js的加载(这种情况自然就出错了)但其实都完成了js文件的加载,所以你后面<a href="xxx 的时候调用成功了 如何转化成JSON 关于mouseover触发函数的问题 超级大菜鸟求教!要将textarea中的内容作预览,该怎么做 急需关于Javascript部分功能的实现 求:向父窗体传回参数的Firefox 和IE 都兼容的方法 JS 赋值 赋值变量 带与不带VAR的区别 js能实现这样列表选择吗? 如何修改http头里的HTTP_REFERER onblur事件 我在实现类似于论坛的短信功能,其中有一个隐藏帧的概念,它可以自动刷新吗?哪位路过的朋友,帮忙讲解一下,最好有例程。88分奉送 jQuery制作横向Accordion样式的导航菜单 这个函数 帮忙看看呗
我用个短点代码来说:
三个文件:
1。ab.html
代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<TITLE>妯箙骞垮憡</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
</HEAD>
<BODY>
<SCRIPT src="/456/a.js" type=text/javascript></SCRIPT>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>sdf</td>
</tr>
<tr>
<td>sadfdsf</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table></BODY>
</HTML>2. a.js
代码如下:
document.write("<scr"+"ipt language=javascript src=/456/b.js></scr"+"ipt>");
{document.write("<div id=huashuolayer2 style='position: absolute;visibility:visible;z-index:1'><table width=0 border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>"+"<div id=huashuolayer3 style='position: absolute;visibility:visible;z-index:1'><table width=0 border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>");}winload()//}3。 b.js
代码如下:
function closeAd(){huashuolayer2.style.visibility='hidden';huashuolayer3.style.visibility='hidden';}function winload(){huashuolayer2.style.top=109;huashuolayer2.style.left=5;huashuolayer3.style.top=109;huashuolayer3.style.right=5;}调试时出现这样错误:
网页错误详细信息用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
时间戳: Sun, 24 Jan 2010 07:07:21 UTC
消息: 缺少对象
行: 2
字符: 1015
代码: 0
URI: http://localhost/456/a.js好明显,a.js文件中winload()函数未执行。
如果把a.js文件改成这样就可以了。
function closeAd(){huashuolayer2.style.visibility='hidden';huashuolayer3.style.visibility='hidden';}function winload(){huashuolayer2.style.top=109;huashuolayer2.style.left=5;huashuolayer3.style.top=109;huashuolayer3.style.right=5;} {document.write("<div id=huashuolayer2 style='position: absolute;visibility:visible;z-index:1'><table width=0 border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>"+"<div id=huashuolayer3 style='position: absolute;visibility:visible;z-index:1'><table width=0 border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>");}winload()//}
有没有a.js包含进b.js实现效果的方法?
如果b.js没有包含进的的话,应该不会有反应才会的啊!!
(jquery.js文件里面的代码)
document.write(" <div id=topBanBox style='DISPLAY:none' align=center> <a href='#'> <img height=250 src='test/newyear.jpg' width=900 border='0'> </a> </div> <div style='clear:both; overflow:hidden; height:0px;'> </div>");
$('#topBanBox').slideDown(1000);setTimeout(function(){$('#topBanBox').slideUp(2000);},5000);
这种方式,在执行$('#topBanBox')的时候,那个jquery.js其实还没加载进来IE和FF对这这种脚本里document.write加载js的的处理方式不一样,所以最好不要依赖动态加载。
或者你用Ajax方式动态加载js,并在确定加载完成后才调用 $('#topBanBox')
1.先加载js,再调用
2.先调用,再完成js的加载(这种情况自然就出错了)但其实都完成了js文件的加载,所以你后面<a href="xxx 的时候调用成功了