求教,动态加载JS文件,调用其内容时出错,, document.all[theArea].innerHTML=" <b>dddd </b>"; /eval(theArea).innerHTML=" <b>dddd </b>"; 试下这样 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 感谢rjzou2006 的回复,不行的,我把他改成这样也没反应郁闷function DisplayMenu(theArea) { alert("wwwww"); } 把这个脚本元素加到body的后面,而不是head的里面,因为网页中的脚本是顺序执行的,head里面的内容已经解析过了,所以DisplayMenu函数是不存在的 DisplayMenu这个函数是在22.js里吗?你的[LoadFile("Js1", "22.js"); //载入相应js ]是异步载入的,相当于defer22.js运行在11.js的代码之后所以,在22.js真正load并运行之前,不能调用22.js里的函数。 jameshooo:把这个脚本元素加到body的后面//var ohead = document.getElementsByTagName("head")[0];var ohead = document.getElementsByTagName("body")[0];修改后一样出错的。 不知道为什么,我这没报错.......IE6.0 FF3B 你不要在td里设置id="MenuArea"> ,改诚<div id="MenuArea"> </div>方式试试看 gghunter :不是吧。。我这用IE(6.0)和Maxthon(2.0.8)的浏览器都出错 同步加载,换成documnet.write("<script src=''></script>"); 简单的用同步加载,换成documnet.write(" <script src=''> </script>");也行,但我想实现的是,往指定控件内写,例如:htm file<div id=xx></div>================js file该JS文件要用 documnet.write 方式写入到 xx中,,可以吗?、 我想实现的是,对过动态加载JS文件,实现不同菜单的切换,例如一个网站有中文、英方两版本(可能更多),通过点击各版本的链接,动态加载其菜单。如果不能像我上面说的,可以用 documnet.write 方式写入到 指定控件内,简单的用同步加载,换成documnet.write(" <script src=''> </script>");方式,是达不到我想实现的效果的 chinmo ,,呵呵,总算,,有个星哥回话了。。帮出出点子吧,,我的想法大至有三种:1、动态加载JS文件,并调用其中的方法,加载相应数据(也就是我开始发贴的问题,但没人解决)2、用同步加载,换成documnet.write方式(能否用 documnet.write 方式把数据写入到 指定控件内,这个我不会:( )3、用同步加载,换成documnet.write方式,但要可以其局部刷新(id=xx的脚本达到局部刷新),如:========html file<div id=xx><script>display()</script></div> ========js filefunction display(){documnet.write("xxxxxxxxxxxxxxxxxx");} 你这部分改成window.onload = function() { DisplayMenu("MenuArea"); } DisplayMenu("MenuArea");把这个改成window.onload = function() { DisplayMenu("MenuArea"); } LoadFile("Js1", "22.js"); //载入相应js因为你这个只是载入22.js还有一个问题如果是变量DisplayMenu("MenuArea"); 这个只需要DisplayMenu(MenuArea); 不用加"" 还有最好不要用document.all,会出现兼容问题的,你既然使用的是ID,那么就用document.getElementByid 例: ===========index.htm=============== <html> <head> </head> <body> <table width="778" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td bgcolor="#3366FF" height="25" id="MenuArea"> </td> </tr> </table> </body> <SCRIPT language=javascript src="11.js"> </SCRIPT> </html> 还是不行,,,MenuArea是控件的ID 关于js定义变量且赋值的一个问题 sencha touch 2.0 中Ext.msg.alert调用后页面不能正常恢复. 各种需求,各种问~~ 当我引入了jquery之后,这样可以吗? EXT 中 textfield 的 width无效: 急问,在线等。。。。 请问怎样做多级树形菜单啊(大概要有五层)?可否给提供一两个摸板?谢谢 客户端验证问题,请帮忙 http://mobile.real.com/? 左边的菜单点样做? HELP! 怎样点击一个文本框后,文本框里面的内容自动全选? 关于javascript 计算radio的值的问题
function DisplayMenu(theArea)
{
alert("wwwww");
}
相当于defer
22.js运行在11.js的代码之后
所以,在22.js真正load并运行之前,不能调用22.js里的函数。
var ohead = document.getElementsByTagName("body")[0];
修改后一样出错的。
htm file<div id=xx></div>================
js file该JS文件要用 documnet.write 方式写入到 xx中,,可以吗?、
1、动态加载JS文件,并调用其中的方法,加载相应数据(也就是我开始发贴的问题,但没人解决)
2、用同步加载,换成documnet.write方式(能否用 documnet.write 方式把数据写入到 指定控件内,这个我不会:( )
3、用同步加载,换成documnet.write方式,但要可以其局部刷新(id=xx的脚本达到局部刷新),如:========html file
<div id=xx><script>display()</script></div> ========js file
function display()
{
documnet.write("xxxxxxxxxxxxxxxxxx");
}
你这部分改成
window.onload = function() {
DisplayMenu("MenuArea");
}
把这个改成
window.onload = function() {
DisplayMenu("MenuArea");
}
因为你这个只是载入22.js
还有一个问题
如果是变量
DisplayMenu("MenuArea"); 这个只需要DisplayMenu(MenuArea);
不用加""
===========index.htm=============== <html>
<head>
</head>
<body>
<table width="778" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#3366FF" height="25" id="MenuArea"> </td>
</tr>
</table>
</body>
<SCRIPT language=javascript src="11.js"> </SCRIPT>
</html>
还是不行,,,MenuArea是控件的ID