0
我正在使用xmlhttprequest
(和eval
)來動態加載腳本。接下來我評估腳本並查看是否有其他腳本需要加載。一路上,如果有任何腳本導致異常,則報告的錯誤消息指示與eval
關聯的行號,而不是腳本中的實際錯誤。同步<script>聲明?
在another question有人建議我用<script>
來取代更好的錯誤信息。不幸的是,<script>
是異步的,我將無法控制加載腳本的順序(我需要一個onload
回調)。
如何在<script>
命令
一些更多的信息實現同步行爲,以什麼我的目標是實現
每個腳本都有它加載其他腳本列表,存儲在一個列表,讓稱它爲_toLoad
假設我們有一個腳本「Main.js」,象這樣
負荷列表
其中規定一旦加載,文件A.js必須被加載。一旦'A.js'被加載,'B.js'必須被加載。一旦'B.js'被加載,'C.js'必須被加載。一旦'C.js'被加載,'D.js','E.js'和'F.js'必須以任意順序加載。
我可以使用<script>
加載'Main.js',評估它的_toLoad
列表並開始加載其他腳本,並按照正確的順序。但是如果'A.js'有幾個腳本也會載入,會發生什麼?我希望那些在後臺加載,而不是從裝載
延遲「B.js」如果「A.js」有像這樣的負載名單:
_toLoad = [['A2.js'] , ['B2.js'] , ['C2.js'] , ['D2.js' , 'E2.js' , 'F2.js']]
是我會必須通過併發出<script>
報表。當我首先需要一種寬度時,它似乎是一種深度優先方法。
腳本[不能真正被加載同步] [1]。 [1]:http://stackoverflow.com/questions/3248384/document-createelementscript-synchronously – Wayne
我還沒有使用它(但)我自己,但[YepNope.js(HTTP:// yepnopejs.com/)可能會有所幫助。我知道它被描述爲一個異步加載器,但是它控制腳本執行的時間,因此... – nnnnnn
'