javascript 的 include 問題?

看板Ajax作者 (藍永倫)時間17年前 (2007/04/23 20:56), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/2 (看更多)
hello, 我目前寫的東西有兩個需求,第一個就是希望能夠在 javascript 中 引入別的 .js 檔案,第二個就是希望能夠等到引入的 .js 讀完以後再執行一 些 initialize 的程式碼。 說清楚一點,我想要作的東西是一個 js library,這個 library 是讓別人 開發 .js 的時候能夠引入的。別人開發怎麼樣的 .js 呢?像 flickr Zeitgeist 只要在網頁上插入一段 <script src="xxxx.js"></script> 就可以有照片、 玩偶、時鐘那樣的 .js 。 由於訴求是能夠讓使用者只要在適當的地方插入 <script src="xxx.js"></script> 就可以用,所以必須在別人開發的 xxx.js 裡面引入我的 library,姑且叫做 lib.js 好了。 若是 user 只有在頁面擺一個 xxx.js 那倒也還好,我用 window.onload=init; 和 document.write('<script src="lib.js"></script>'); 就可以等到全部載 入後再執行 init 。 但若有兩個以上的 .js ,姑且稱作 xxx.js 和 yyy.js 都有呼叫到 lib.js , 要如何保證 xxx.js 和 yyy.js 都等到 depedent file 都載入完畢後再 init 呢? 如果用同一招 window.onload = init 好像會互相蓋到... 推廣到更複雜的狀況,假設 xxx.js 呼叫 yyy.js, lib.js yyy.js 呼叫 lib.js zzz.js 呼叫 lib.js 我希望每個檔案都等到呼叫到的檔案載入、init 以後自己才能 init, 也就是希望能夠 lib.js init -> zzz.js init -> yyy.js init -> xxx.js init 就是希望能夠按照他們之間相依關係的拓撲排序順序來呼叫... 請問大家有好解法嗎?(唉,問題落落長,可能描述得不太好) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.31.182

04/23 23:49, , 1F
參考一下49開始的討論串,裡面應該有提到部份
04/23 23:49, 1F
文章代碼(AID): #16BAp_z8 (Ajax)
文章代碼(AID): #16BAp_z8 (Ajax)