【问题标题】:Meteor: Showing loading spinner at initial loadMeteor:在初始加载时显示加载微调器
【发布时间】:2013-07-21 16:09:48
【问题描述】:

所以我刚刚完成了我的第一个流星项目。这是一个适用于智能手机和平板电脑的网络应用程序,基本上可以在会谈/演示中众包问答环节。 它叫做Questful

无论如何...我的问题是,在首次加载时,meteor 需要的所有 JS 文件尚未在客户端浏览器的缓存中(显然)...但尤其是当智能手机用于查看此 Web 应用程序时(其中它的目标是)并且互联网连接也可能很慢(-->当 X 百人在活动中使用相同的 WiFi 时很有可能)第一次加载页面需要很长时间。 (流星 JS 文件大小约为 500kB)。

我测试了我的服务器的上传速度,结果是大约 50 MBit,这没问题,因为它是一个非常便宜的根。

标准的 jQ 预加载器无法完成这项工作,因为流星会将其 JS 文件加载到头部,因此 $(function(){});将触发太晚(加载所有 JS 文件后,这不是我想要的)。

你们知道是否可以编写像这样的预加载器吗?或者有没有?

最好的问候 帕特里克

【问题讨论】:

    标签: javascript jquery meteor preloader


    【解决方案1】:

    看这里https://github.com/oortcloud/unofficial-meteor-faq#how-do-i-know-when-my-subscription-is-ready-and-not-still-loading

    基本上你需要让你的模板默认显示一个加载指示器,然后在加载后显示数据

    假设您将助手定义为dataLoaded,模板可能类似于

    {{#if dataLoaded}}
      <Show your real data / templates>
    {{else}}
      Loading...
    {{/if}}
    

    【讨论】:

    • 感谢您的回答!问题是:我忘了提到 DOM 还没有准备好,而所有这些 JS 的东西都是在初始加载时加载的(如前所述:JS 文件加载在头部 --> 还没有正文 --> 什么都没有展示)。因此,普通的加载微调器将无法完成这项工作!我认为正确的方法是拥有一个智能包,它将所有 JS 文件移动到正文的末尾,并在所有这些文件之前包含一个加载微调器。但是我还没有找到这样的东西+我不知道目前是否可以将流星的脚本从头部移动到身体的末端。
    猜你喜欢
    • 1970-01-01
    • 2019-11-16
    • 1970-01-01
    • 2014-02-02
    • 2013-04-10
    • 2013-09-24
    • 2012-11-24
    • 1970-01-01
    • 2014-03-17
    相关资源
    最近更新 更多