1

我在http://app.bluedot.mobi有一个 HTML5/jquery 移动网络应用程序。它用于长距离比赛,通过 SPOT 卫星跟踪来跟踪竞争对手。我尚未解决的问题是,在不存在数据连接的情况下加载应用程序时,浏览器会在检查事件期间尝试获取清单时抛出“无数据连接”警报弹出窗口。即使存在数据连接,加载应用程序也可能需要很长时间。有大约 500 个文件要检查。加载应用程序(从手机)的最快方法是处于飞行模式并关闭浏览器的警报 - 不是那么优雅。

我不想对那些往往在偏远地区连接不稳定的用户强制进行更新,而是想以编程方式使用 applicationCache.update(),让用户控制该过程并加速应用程序加载(无论是在线还是离线)。

HTML5 规范和相应的浏览器实现目前是否可以做到这一点?

4

2 回答 2

1

听起来你需要abort()方法。不幸的是,它是非常新的,并且可能需要一段时间才能被大多数移动浏览器实现。

于 2011-09-08T18:50:08.430 回答
0

有大约 500 个文件要检查。

听起来您是在暗示浏览器会检查每个文件以查看其中是否有任何更改。这是不正确的。浏览器仅检查清单文件是否已更改,这是一个简单的字节检查。如果清单文件没有改变,浏览器认为没有任何改变。

因此,如果您的应用程序启动缓慢,可能是因为您的应用程序很复杂,并且需要解析大量 HTML 和 Javascript。我建议您查看该应用程序,看看是否有任何可以优化的地方。在这种情况下,您可能需要查看 Yahoo 的加速网站页面的最佳实践。

例如,我注意到您在 HEAD 部分中有很多 Javascript 代码。前面提到的文章建议我们将所有 Javascript(在可能的范围内)移动到页面底部,以便浏览器可以尽快开始渲染页面。文章中还有很多其他合理的建议。所以看看吧,我相信你会发现它很有用。:-)

于 2011-11-19T19:16:23.853 回答