2012-06-03 26 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链。 –