我在http://app.bluedot.mobi有一个HTML5 / jquery移动网络应用。它用于长距离比赛,通过SPOT卫星跟踪跟踪竞争对手。我尚未解决的问题是,当没有数据连接时加载应用程序时,浏览器会在检查事件期间尝试获取清单时抛出“无数据连接”警报弹出窗口。即使存在数据连接,加载应用程序也可能需要很长时间。有大约500个文件需要检查。加载应用程序(通过手机)的最快方式是处于飞行模式并关闭浏览器的警报 - 不是那么优雅。
我希望以编程方式使用applicationCache.update(),让用户可以控制进程并加快应用程序加载(无论是在线还是离线),而不是强迫对通常位于偏远地区的用户进行更新。
目前HTML5规范和各自的浏览器实现是否可行?
答案 0 :(得分:1)
听起来你需要abort()方法。不幸的是,它是非常新的,它可能需要一段时间才能被大多数移动浏览器实现。
答案 1 :(得分:0)
有大约500个要检查的文件。
听起来你暗示浏览器会检查每个文件,看看是否有任何文件发生了变化。这是不正确的。浏览器仅检查清单文件是否已更改,这是一个简单的字节检查。如果清单文件未更改,则浏览器认为没有任何更改。
因此,如果您的应用程序启动缓慢,可能是您的应用程序,因为您的应用程序很复杂,并且需要解析很多HTML和Javascript。我建议你看看应用程序,看看有没有什么可以优化的。在这种情况下,您可能需要查看Yahoo的Best Practices for Speeding Up Your Web Site页面。
例如,我注意到HEAD部分中有很多Javascript代码。前面提到的文章建议我们将所有Javascript(在可能的范围内)移动到页面底部,以便浏览器可以尽快开始呈现页面。文章中还有很多其他合理的建议。所以看看,我相信你会发现它很有用。 : - )