2013-07-22 73 views
3

所以我刚完成我的第一个流星项目。这是一个基本上众包的智能手机和平板电脑的网络应用程序Q &会谈/演示中的会话。 它叫做Questful流星:在初始负载下显示加载微调器

反正......我的问题是,在初次加载时,流星所需的所有JS文件都还没有存在于客户端浏览器的缓存中(显然)......但特别是当智能手机用来查看这个web应用时它的目标是),而且互联网连接速度也可能很慢(当X百人在事件中使用相同的WiFi时,很可能会出现这种情况),那么首次加载该页面将需要永远的时间。 (流星JS文件大小约为500kB)。

我测试了我的服务器的上传速度,结果是大约50MBit,这是可以的,因为它是一个相当便宜的根。

一个标准的jQ preloader不会做流星加载它的JS头文件中的工作,所以$(function(){});会火太晚(所有的JS文件加载后,这是不是我想要的)。

你们有什么想法是否可以编写像这样的预加载程序?或者那里有一个?

问候 帕特里克

回答

0

看看这里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}} 
+0

感谢您的回答! 问题是:我忘了提及DOM尚未准备好,而所有这些JS的东西都是在初始加载时加载的(至于说:JS文件加载到头部 - >没有任何内容 - >什么也没有显示)。 因此,一个正常的加载微调不会完成这项工作! 我认为一个合适的方法是有一个智能包,它将所有JS文件移动到主体的末尾,并在所有这些之前包含加载微调器。 但我找不到像这样的东西,但我不知道这是否可以将流星的脚本从头部移动到身体的尽头。 –