从预加载中排除元素
我在一个预加载整个页面的当前项目上使用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 }); });