Re: [ js ] .js include js檔

看板Ajax作者 (wctang)時間17年前 (2008/07/17 10:11), 編輯推噓2(204)
留言6則, 3人參與, 最新討論串2/7 (看更多)
※ 引述《hyderai (飄)》之銘言: : 最近剛開始接觸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只能用複製的方式嗎? function loadscript(jspath,loaded) { var s=document.createElement('script'); s.setAttribute('type','text/javascript'); s.setAttribute('src',jspath); if(loaded){ if(s.addEventListener){ s.addEventListener('load',loaded,false); }else if(document.all){ s.onreadystatechange=function(){if(this.readyState==='loaded'){loaded();}} } } document.getElementsByTagName('head')[0].appendChild(s); } loadscript('http://jquery/addrss.js',function(){ alert($); }); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.125.148.101

07/17 10:42, , 1F
這不能在IE跑吧?
07/17 10:42, 1F
※ 編輯: wctang 來自: 59.125.148.101 (07/17 11:10)

07/17 11:10, , 2F
sorry, 改一下,在 ie7 下應該沒問題了...
07/17 11:10, 2F

07/17 15:05, , 3F
我測試完,這個方法應該還是沒辦法完全等jQuery載入
07/17 15:05, 3F

07/17 15:07, , 4F
若是loadscript後,開始使用jQuery還是會有undefined情形
07/17 15:07, 4F

07/17 15:10, , 5F
還是感謝回答,我還是直接Copy好了= =a
07/17 15:10, 5F

07/17 21:40, , 6F
在loadscript第二參數的func中? 我在 ff 中用都ok..@@
07/17 21:40, 6F
文章代碼(AID): #18VgfLfH (Ajax)
討論串 (同標題文章)
本文引述了以下文章的的內容:
2
10
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 2 之 7 篇):
2
10
文章代碼(AID): #18VgfLfH (Ajax)