在脱机应用程序加载时阻止HTML5 applicationCache检查事件

时间:2011-06-22 15:14:14

标签: html5 application-cache offline-web-app

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

我希望以编程方式使用applicationCache.update(),让用户可以控制进程并加快应用程序加载(无论是在线还是离线),而不是强迫对通常位于偏远地区的用户进行更新。

目前HTML5规范和各自的浏览器实现是否可行?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

  

有大约500个要检查的文件。

听起来你暗示浏览器会检查每个文件,看看是否有任何文件发生了变化。这是不正确的。浏览器仅检查清单文件是否已更改,这是一个简单的字节检查。如果清单文件未更改,则浏览器认为没有任何更改。

因此,如果您的应用程序启动缓慢,可能是您的应用程序,因为您的应用程序很复杂,并且需要解析很多HTML和Javascript。我建议你看看应用程序,看看有没有什么可以优化的。在这种情况下,您可能需要查看Yahoo的Best Practices for Speeding Up Your Web Site页面。

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