【问题标题】:displaying progress bar for labjs, labjs callbacks显示labjs、labjs回调的进度条
【发布时间】:2012-06-03 19:08:58
【问题描述】:

如何跟踪到目前为止已加载的脚本,以便在使用 labjs (http://labjs.com/) 时显示进度条? wait() 不起作用,因为它不会并行加载下一个资源。基本上我正在寻找某种我可以绑定的非阻塞回调函数。这在labjs中是否存在?

【问题讨论】:

    标签: javascript labjs dynamic-script-loading


    【解决方案1】:
    1. wait() 不会影响 LABjs 的并行加载...它总是会尽可能多地并行加载(浏览器允许)。 wait() 只影响脚本的执行。如果它插入在两个 script() 调用之间,它会确保第二个脚本在执行之前“等待”第一个脚本完成执行。

    2. 不,没有公开的 API 用于脚本的加载完成,因为浏览器在脚本完成加载时没有公开一致的 API(仅当它执行时:“onload”,就像那个名字一样令人困惑是)。

    现在,您可以在每个脚本之间使用 wait() 调用来做一个进度表,但它会告诉您一些与您所问的略有不同的东西:脚本的百分比 执行,而不是下载的脚本百分比。根据您的需要,这可能是完全可以接受的。

    【讨论】:

    • @LordZardeck 取决于您所说的“影响性能”。 wait() 不影响并行下载的性能。但是,如果您使用wait() 来延迟关键代码段的执行,而wait() 之前的某些内容加载或运行缓慢,那么关键代码将被延迟(显然),这肯定会影响“感知”的表现。经验法则:只有在确实需要等待时才让一段代码等待执行。如果它可以独立运行,要么放弃支撑它的wait(),要么使用单独的 $LAB 链。
    猜你喜欢
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-25
    • 2014-07-26
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多