2012-06-03 39 views
0

如何跟蹤到底加載了哪些腳本,以便在使用labjs(http://labjs.com/)時顯示進度條? wait()不起作用,因爲它不會並行加載下一個資源。基本上我正在尋找一種非阻塞性的回調函數,我可以將其綁定。這在labjs中存在嗎?顯示labjs,labjs回調的進度條

回答

0
  1. wait()不影響LABjs的並行加載...它將始終並行裝載儘可能多的(瀏覽器允許)。 wait()隻影響腳本的執行。如果它插入在兩個script()調用之間,它確保第二個腳本將「等待」第一個腳本在其執行之前完成執行。

  2. 不,沒有暴露的API用於腳本的加載完成,因爲瀏覽器在腳本完成加載時不會暴露一致的API(僅當它執行時:「onload」,因爲名稱混淆)。

現在,你可以不使用每個腳本之間wait()呼叫進度表,但它會告訴你的東西比你的要求略有不同:有多大比例的腳本已經執行,沒有什麼腳本的百分比有已下載。根據您的需求,這可能是完全可以接受的。

+0

等wait()不會真的影響性能? – LordZardeck

+0

@LordZardeck取決於你的意思是「影響性能」。 wait()不影響並行下載的性能。然而,如果你使用'wait()'延遲一段關鍵代碼的執行,並且在'wait()'加載或運行緩慢之前,那麼關鍵代碼將被延遲(明顯),並且這肯定會影響「感知」的表現。經驗法則:如果真的需要等待,只能讓一段代碼等待執行。如果它可以獨立運行,那麼可以不用保留它的'wait()',或者使用一個單獨的$ LAB鏈。 –