作者hyderai (飘)
看板Ajax
标题[ js ] .js include js档
时间Thu Jul 17 01:09:36 2008
最近刚开始接触javascript
我知道javascript里面没有include这种东西
所以要自行撰写函式来使用
网路上目前找到的,大致如下:
function load(path) {
var d = document.createElement(script);
d.src = path;
document.getElementsByTagName(body)[0].appendChild(d);
}
不过这种方式达不到我的目标
最近在网路上看到一支js应用程式(ex. a.js)是另外使用jQuery framework来撰写
它是直接将jquery-1.2.6.js跟一些plugin的内容全部复制到该js档内
只是我觉得这样看起来很乱,想用类似include的方式,将它们独立出来,先使用
上面的function将jquery-1.2.6.js include进来後,再开始程式的撰写。
不过要是用上面的function会失败,出现jQuery未定义的讯息。
是因为变数scope的问题,还是其他原因?有解决方式吗?
js档include其他js档、css档是不是不常见,
因为没有include,所以code reuse只能用复制的方式吗?
--
『人生中有无数的选择,却没有绝对正确的选择,
你只要在选择後让它变成正确的就好。』
<<红>> 柔泽红香 juzawa benika
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.227.140.54
1F:推 SMUGEN:动态载入的.js还没完全载入script就会往下run了 append之後 07/17 01:23
2F:→ SMUGEN:script继续跑 同时间browser也正在get那个js档 所以罗... 07/17 01:24
3F:→ SMUGEN:如果是用<script>直接插在<head>里面就会完全载入後才往後 07/17 01:26
4F:→ SMUGEN:解译html 当然也包括後面的<script>里的js 我是用这方法啦 07/17 01:27
5F:→ SMUGEN:如果非动态载入不可的话 我想应该可以设个timer去测jQuery 07/17 01:29
6F:→ SMUGEN:是否定义 否则一样再设timer 是则执行後续的js 不知可行否? 07/17 01:31
7F:推 Fenikso:用xmlhttprequest把档案抓下来直接eval? 07/17 03:00
8F:→ Fenikso:(把Asynchronous设成false) 07/17 03:01
9F:→ Fenikso:不过这样网页会卡住.. 07/17 03:01
10F:→ TonyQ:Fenikso 网页会卡住才符合原po需求...~_~ 07/17 09:58