我正在使用 Titanium 为 Android 创建一个应用程序。该应用程序使用 webview 加载外部 HTML5 网页。该网页使用 list 来缓存页面和一些 Assets 。这在桌面浏览器和 Android (Chrome) 中的第三方应用程序浏览器上运行良好。
当我在 Titanium 构建应用程序的 Web View 中查看页面时,似乎没有使用 list ,页面只是从服务器加载所有内容。当我使用手机 (HTC one X) 的内置浏览器时,也会出现同样的问题。
我想要完成的是页面离线可用,这样就不需要互联网来查看缓存页面。是否有解决此问题的方法,或者我应该从另一个方向寻找解决我的问题的方法?
list 文件:
CACHE MANIFEST
# version 1
leerlingen.html
jquery.js
style.css
handler.js
NETWORK:
*
最佳答案
首先:Titanium 提供的不仅仅是 WebView。如果您计划只显示网页,您可能应该看看 PhoneGap/Cordova,它们可能以更好的方式满足您的需求。
如您所见,并非所有浏览器都支持 HTML5 缓存功能。我不能说它是否一般不适用于 Android 或仅适用于您的特定版本,因为 WebKit 通常支持它,但这取决于所使用的 WebKit 版本。这可能会有所不同。
编辑: 似乎(在 native android 中)可以启用此功能,如下所示:Application cache in HTML5 doesn't work in Android PhoneGap application .这在 Titanium 中目前是不可能的(可能有我不知道的非官方调整,但从 http://docs.appcelerator.com 这是不可能的)。
我个人更喜欢另一种解决方案。自己缓存数据,无网时显示。 但是这取决于您要达到的目标。很少有不经常更改的内容,这是有道理的。动态更改数据(例如 twitter 流)这将很困难。此外,这还取决于您的用户以及他们希望访问您的应用的位置。
还有一个悬而未决的问题:当您想使用所有缓存功能时,为什么要创建一个应用程序?创建一个简单的移动网页可以完成同样的工作。创建应用程序时,我不会使用 HTML 5 的缓存功能。您应该将所有静态资源保留在您的应用程序中,并简单地从网络加载数据。这可以通过 Titanium 和 PhoneGap/Cordova 来实现。 Titanium 对于 native UI 和一些 native 功能更有用,而 PhoneGap/Cordova 更适合基于 HTML5 的布局。
关于android - Ttitanium webview 和 HTML5 应用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15828942/