从预加载中排除元素 [英] Exclude elements from being preloaded

查看:64
本文介绍了从预加载中排除元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I use http://github.hubspot.com/pace/ on a current project which preloads the entire page.

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

Is it possible to exclude certain elements from preloading?

例如我希望我的#header#banner元素立即可见,并让它在页面的其余部分继续工作.

E.g. I want my #header and #banner element to be visible right away, and let pace do its job for the rest of the page.

对我来说,开始"事件没有触发吗?

For me the "start" event is not triggered?

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

在文件就绪状态中也没有退出该功能. Pace.on("done", …触发就很好.

Wheter in the document-ready nor out of the function. Pace.on("done", … triggers just fine.

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

Update: my major problem at the moment is this …

$(window).load(function(){
    $('body').addClass("page");

    Pace.on('start', function() { 
        alert('start') // not fired
    });

    Pace.on('done', function() {
        alert('done') // fired!
    });
});

推荐答案

根据文档:

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

Ajax

Ajax

监视页面上的所有ajax请求

元素

Elements

检查页面上特定元素的存在

文档

Document

检查文档readyState

事件滞后

Event Lag

检查事件循环滞后信号,表明正在执行javascript

可以分别通过相同名称的配置选项来配置或禁用它们."

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

也许

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

可以解决问题.

更多信息在这里:

元素

"Elements

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

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

似乎是一个不错的插件!

It seems a good plugin!

编辑

要在启动时附加代码,看来应该是:

To attach code on start it seems that should be:

如果您使用的是AMD或Browserify,则可以将选项传递给开始:"

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

这篇关于从预加载中排除元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆