[ js ] .js include js檔

看板Ajax作者 (飄)時間17年前 (2008/07/17 01:10), 編輯推噓2(208)
留言10則, 3人參與, 最新討論串1/7 (看更多)
最近剛開始接觸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

07/17 01:23, , 1F
動態載入的.js還沒完全載入script就會往下run了 append之後
07/17 01:23, 1F

07/17 01:24, , 2F
script繼續跑 同時間browser也正在get那個js檔 所以囉...
07/17 01:24, 2F

07/17 01:26, , 3F
如果是用<script>直接插在<head>裡面就會完全載入後才往後
07/17 01:26, 3F

07/17 01:27, , 4F
解譯html 當然也包括後面的<script>裡的js 我是用這方法啦
07/17 01:27, 4F

07/17 01:29, , 5F
如果非動態載入不可的話 我想應該可以設個timer去測jQuery
07/17 01:29, 5F

07/17 01:31, , 6F
是否定義 否則一樣再設timer 是則執行後續的js 不知可行否?
07/17 01:31, 6F

07/17 03:00, , 7F
用xmlhttprequest把檔案抓下來直接eval?
07/17 03:00, 7F

07/17 03:01, , 8F
(把Asynchronous設成false)
07/17 03:01, 8F

07/17 03:01, , 9F
不過這樣網頁會卡住..
07/17 03:01, 9F

07/17 09:58, , 10F
Fenikso 網頁會卡住才符合原po需求...~_~
07/17 09:58, 10F
文章代碼(AID): #18VYjn8e (Ajax)
討論串 (同標題文章)
文章代碼(AID): #18VYjn8e (Ajax)