Although PhoneGap is an offline solution where the HTML, CSS and JS files etc are held in the assets/www folder within the app, there are some cases where you might want the app to point to a remote server where the HTML5 file and its CSS/JS are located. They can be downloaded onto your device and ran as offline files when the device has no Internet connection.
The requirements to trigger the HTML5 offline cache are detailed below and each requirement must be implemented with care, otherwise it will not work:
1) The MIME Type for a Manifest file.
This is very important. Previously I have followed a solution to add a mime type by using a .htaccess file and place it together with index.html of my HTML5 app, but it didn’t work.
In my case, I was using the Tomcat server and the surefire way that the .manifest file will be correctly used by the server, is to modify “/conf/web.xml” and add in the mime mapping as below:
<mime-mapping> <extension>manifest</extension> <mime-type>text/cache-manifest</mime-type> </mime-mapping>
2) Specify the Manifest File
This is a standard configuration. For every HTML file that wants to use the cache manifest, they have to update their tag to
3) Configure the Manifest File
The manifest file is a text file that you have configure to tell the HTML5 app what is to be cached for offline use. A sample file is below:CACHE MANIFEST
# Version 0.1
# Explicitly cached entries
index.html
jqtouch/jqtouch.css
jqtouch/jqtouch.js
jqtouch/jquery-1.4.2.min.js
js/common.js
images/1.png
images/2.png
# All other resources (e.g. sites) require the user to be online.
NETWORK:
*
* note that the manifest file only caches static resources such as .html, .js and images, so files like JSP pages will not be applicable here.
***VERY IMPT: Each entry to be cached must be correctly named and if the entry is there, the physical file must be there, otherwise the whole caching will fail!
4) For iOS, steps 1-3 are sufficient for HTML5 offline caching to work. However, in the case of Android, we need to fix the Android Shell Native App to enable HTML5 caching:
In your App.java class, there are these lines of codes to be added as part of the solution to enable HTML5 caching:
public class App extends DroidGap { ... @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... super.appView.getSettings().setDomStorageEnabled(true); super.appView.getSettings().setAppCacheMaxSize(1024*1024*8); super.appView.getSettings().setAppCachePath("/data/data/com.yourdomain/cache"); super.appView.getSettings().setAllowFileAccess(true); super.appView.getSettings().setAppCacheEnabled(true); super.appView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); ... } ... }
=======================================
对于UIWebView不支持html5 cache的问题,可以参考:
http://stackoverflow.com/questions/1540240/html5-cache-manifest-in-a-uiwebview
相关推荐
Scratch文件转换成Html文件离线版,当前的版本是在2020-01-06的时候更新的版本。操作方式 1、Upload project上传本地(sb或sb2或sb3)文件 2、点击HTMLify会自动生成project.html并下载(这是网页版的)。
标题"htmlifier-offline.zip"暗示了解决这一问题的一种方法:使用HTMLifier-offline工具将Scratch3项目转换为HTML文件。这个工具允许用户将他们的Scratch3程序在Web浏览器中运行,弥补了Scratch3无法生成本地可执行...
5. **BitTorrent 协议**:BitTorrent是一种对等(Peer-to-Peer)文件分享技术,通过分散下载源来加速文件的传输,尤其适合大文件的共享。使用该协议可以减轻服务器压力,并且在多用户同时下载时效率更高。 6. **安全...
- **文件类型**:确保文件名拼写正确,并且扩展名为 `.htm` 而非 `.html`,因为 IIS 只识别 `.htm` 扩展名的文件作为 `app_offline.htm`。 - **兼容性问题**:不同的 ASP.NET 版本可能对此文件的支持有所不同,请...
AI2 Offline Companion.apk
《nRF5 SDK 15.3.0 离线文档详解》 nRF5 SDK 15.3.0 是Nordic Semiconductor公司推出的一款针对nRF5系列微控制器的软件开发套件,主要服务于低功耗蓝牙(Bluetooth Low Energy, BLE)、通用蓝牙、Thread、Zigbee等...
offline explore enterprise·7.5 解压后直接双击根目录下的exe即可
离线浏览器Portable Offline Browser是一款专为用户在无网络环境下访问网站设计的软件工具。它允许用户将整个网站或其中特定部分下载到本地计算机上,以便在没有互联网连接时也能浏览内容。这款国外开发的优秀离线...
5. **依赖信息**: CapsWriter可能有其依赖的Python库,这些信息可能在`requirements.txt`或`setup.py`文件中列出。 6. **可执行文件**:如果是Windows平台,可能会有一个`.exe`文件,让用户可以直接运行,无需...
Android studio离线组件最新版本的 Google Maven 依赖项offline-gmaven-stable,文件分割成 三个 压缩包,必须集齐 三个 文件后才能一起解压一起使用: Android studio离线组件offline-gmaven-stable.part1.rar ...
在实际的软件开发过程中,经常会遇到各种各样的错误提示,其中“vs报错 app_offline”就是一个比较常见的问题。本文将详细介绍这一问题的原因、解决方法以及预防措施。 ### 一、问题概述 #### 1.1 问题背景 在...
此压缩包提供的"nRF5_SDK_15.2.0_offline_doc.zip"是离线文档,包括了详细的接口指南和实例代码,无论是新手还是经验丰富的开发者,都能从中受益。 NRF5系列,特别是NRF52832,是一款功能强大的ARM Cortex-M4微控制...
5. **书签管理**:为了方便用户管理和查找已下载的网页, Offline 虚拟浏览器通常会提供书签功能,让用户可以像在线浏览器一样对离线网页进行分类和标记。 6. **隐私保护**:由于所有浏览活动都在本地进行,离线...
5. **更新ADB**:正如描述中提到的,升级到最新的ADB工具包是解决这类问题的有效方法。这里提供的adb_linux.tar.gz和adb_windows.tar.gz是针对不同操作系统的ADB工具包,解压后可以直接使用。运行`adb devices`命令...
Android studio离线组件最新版本的 Google Maven 依赖项offline-gmaven-stable,文件分割成 三个 压缩包,必须集齐 三个 文件后才能一起解压一起使用: Android studio离线组件offline-gmaven-stable.part1.rar ...
《nRF5 SDK 16.0.0 离线文档详解:开启nrf52832与nrf52840的开发之旅》 nRF5 SDK 16.0.0 是一个专为nordic semiconductor公司的nRF5系列微控制器设计的软件开发工具包,其中包含了丰富的资源和文档,方便开发者在...
5. **多种格式导出**:除了保存为离线浏览格式,还支持导出为HTML、CHM、EPUB、PDF等多种格式,便于分享或阅读。 6. **强大的项目管理**:可以创建、编辑和管理多个下载项目,每个项目都可以有独立的设置和目标路径...
Offline Explorer Enterprise 注册机 内含 MetaProducts.Offline.Explorer.Enterprise.6.6.3970 对于以后的版本,注册机可用的概率非常大。 Offline Explorer 是非常好用的离线浏览工具,推荐使用!