我知道我可以通过使用phonegap创建苹果应用程序,但如果我想在iPad上使用它,我必须成为苹果开发者(99美元或299美元/年)。但我只想小规模使用。
所以我想知道是否有任何浏览器应用程序可以复制所有webapp的文件到iPad的文档文件夹,并在像phonegap这样的嵌入式浏览器中查看它们?我知道我可以将webapp添加到主屏幕并像标准应用程序一样与它们交互,但我希望它离线,因为webapp是2GB的,不需要互联网。
浏览器应用程序应该全屏,没有状态栏,没有Bonuce效果,并自动加载index.html。
如果您希望您的应用程序脱机,您有两个选择:
- 你越狱你想要部署应用程序的手机;
- 你向苹果支付开发者证书,允许你在自己的设备上部署,并通过AppStore提交部署到其他用户设备。
或者,如果你的网页是静态内容,你可以考虑使用iBook Author将它们打包成电子书,并使用iTunes将其加载到你的设备上。不过,对于2GB的数据,这可能不太管用。
是的,您可以使用元标记apple-mobile-web-app-capable
和HTML5应用程序缓存做到这一点。正如您所发现的,您可以将应用程序添加到主屏幕。使用这种技术,应用程序也将离线和全屏运行。
添加到你的HTML <head>
:
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />
设置缓存:
将manifest="cache.manifest"
加入<html>
。cache.manifest
是用于定义缓存内容的文件的名称。它可以被命名为任何东西,但我实际上叫我的cache.manifest
。
<html lang="en" manifest="cache.manifest">
然后确保您的web服务器将.manifest
的MIME类型设置为:
文本/缓存清单
然后创建一个名为cache.manifest
的文件,把它放在你的应用程序根目录下。在CACHE
部分下,放置要缓存的文件(在本例中是所有文件)。您也可以使用*
表示"所有文件"。
每次推送一个版本时,更改缓存清单中的版本号。文件中的任何更改都可以工作,但版本号是一个完美的机制。
CACHE MANIFEST
#ver 1.0.0
CACHE:
app.html
app.css
app.js
然后把它放在你的onload
或同等的脚本的顶部。
function updateVersion( event ) {
window.applicationCache.removeEventListener( 'updateready', updateVersion, false );
if ( window.applicationCache.status == window.applicationCache.UPDATEREADY ) {
//perhaps notify user here
window.applicationCache.swapCache();
window.location.reload();
};
};
if ( window.applicationCache ) {
window.applicationCache.addEventListener( 'updateready', updateVersion, false );
};