android - Ttitanium webview 和 HTML5 应用缓存

标签 android html webview titanium application-cache

我正在使用 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/

相关文章:

android - 如何在 ListView 的项目之间添加元素?

android - 确保应用程序在按下后退按钮时关闭 Android

android - Ionic 3 应用程序按预期从 FCM 网络界面接收后台通知,但没有使用 curl

android - 无尽的 RecyclerView 数据加载逻辑在所有设备上并不一致

html - 如何垂直对齐列中的文本?

Php 包含无法正常工作

Android - Webviewclient onReceivedHttpError 确定是否是主要资源

android - 如何在android中通过id动态更改查找 View 的值?

java - 如何在openCV中将轮廓转换到图像的中心?

javascript - 为什么 JQuery 自动完成结果不显示在浏览器中?