从预加载中排除元素

我在一个预加载整个页面的当前项目上使用http://github.hubspot.com/pace/ 。

是否可以从预加载中排除某些元素?

例如,我希望我的#header#banner元素能够立即可见,并且让页面的其余部分完成工作。

对我来说,“开始”事件没有被触发?

 Pace.on("start", function() { alert('heee'); }); 

在准备文件时也没有退出function。 Pace.on("done", …触发就好了。

更新:我目前的主要问题是……

 $(window).load(function(){ $('body').addClass("page"); Pace.on('start', function() { alert('start') // not fired }); Pace.on('done', function() { alert('done') // fired! }); }); 

根据文件:

“收集器是收集进度信息的代码.Pace包括四个默认收集器:

阿贾克斯

监控页面上的所有ajax请求

分子

检查页面上是否存在特定元素

文献

检查文档readyState

事件滞后

检查javascript正在执行的事件循环滞后信号

可以通过相同名称的配置选项配置或禁用它们。“

 paceOptions = { ajax: false, // disabled document: false, // disabled eventLag: false, // disabled elements: { selectors: ['.my-page'] } }; 

也许

 elements: { selectors: ['.my-page'] } 

可以做的伎俩。

更多信息:

“元素

呈现给屏幕的元素是我们决定页面已呈现的一种方式。 如果您想使用该信息源(根本不需要),请指定一个或多个选择器。 你可以用逗号分隔选择器来处理错误状态,其中进度条应该消失,但我们正在寻找的元素可能永远不会出现:“

 paceOptions = { elements: { selectors: ['.timeline,.timeline-error', '.user-profile,.profile-error'] } } 

这似乎是一个很好的插件!


编辑

要在启动时附加代码,它似乎应该是:

“如果你正在使用AMD或Browserify,你可以通过你的选择开始:”

 define(['pace'], function(pace){ pace.start({ document: false }); });