动态加载js文件!

lsxaa 2005-05-17 11:53:51
动态加载js文件时,遇到的一个问题


加载后,js里的变量不能立即可用,必须alert一下才能用,怎么解决啊,急
...全文
184 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wls12342004 2005-05-24
  • 打赏
  • 举报
回复
星星!!!!!!!!!!
孟子E章 2005-05-17
  • 打赏
  • 举报
回复
通过alert,其实是起到了延时的作用,也就是说,等待页面生成
孟子E章 2005-05-17
  • 打赏
  • 举报
回复
不是不可用,要看你的调用的顺序和位置,如果js变量调用页面的对象,比如div等,调用的时候必须等div生成之后才可以调用,不要在页面的前面就调用。你的js脚本最好放到页面的最后,或者调用的时候在<body onload=aaa()里调用
rightyeah 2005-05-17
  • 打赏
  • 举报
回复
应该不是alert,而是需要等待一点时间,等它全部加载完毕后,就可以用了。可以考虑用setTimeout代替。
lsxaa 2005-05-17
  • 打赏
  • 举报
回复
顶一下,
LCKKING 2005-05-17
  • 打赏
  • 举报
回复
真是稳健
lsxaa 2005-05-17
  • 打赏
  • 举报
回复
谢谢各位大师! 以后还要向你们请教!
fason 2005-05-17
  • 打赏
  • 举报
回复
script也有onload事件的
libao1983 2005-05-17
  • 打赏
  • 举报
回复
抬头看星星
meizz 2005-05-17
  • 打赏
  • 举报
回复
孟子老大已经解释的很清楚了. 若用:
<script>
document.write("<script src=mm.js><\/script>");
</script>
这种方法动态载入的JS文件, 在网页里的实际生成顺序是:
<script>
document.write("<script src=mm.js><\/script>");
//你若是直接在这里就调用 mm.js 里的东东的话当然出错, 因为它还没有被加载
</script>
<script src=mm.js></script>

解决的办法, 孟子的 onload 和 setTimeout defer 等延迟是一个办法, 你也可以这样:
<script>
document.write("<script src=mm.js><\/script>");
</script>
<script>
alert("再加一个script标签, 这样就没有问题了.")
</script>

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧