javascript 的 include 問題?
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
04/23 23:49, 1F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章