0

我知道我可以使用 phonegap 为 Apple 应用程序构建 webapp,但如果我想在 iPad 上使用它,我必须成为 Apple Developer(99 美元或 299 美元/年)。但我只想小规模使用它。

所以我想知道是否有任何浏览器应用程序可以将所有webapp的文件复制到iPad的文件夹中,并在像phonegap这样的嵌入式浏览器中查看它们?我知道我可以将 webapp 添加到主屏幕并像标准应用程序一样与它们进行交互,但我希望它离线,因为 webapp 是 2GB 并且不需要互联网。

浏览器应用应该是全屏的,没有状态栏,没有 Bonuce 效果,并且自动加载 index.html。

4

2 回答 2

1

如果您希望您的应用程序处于脱机状态,您有两种选择:

  • 您越狱了要在其中部署应用程序的手机;
  • 您向 Apple 支付开发者证书,该证书将允许您在自己的设备上进行部署,并通过 AppStore 提交以部署到其他用户设备。

或者,如果您的网页是静态内容,您可以考虑使用 iBook Author 将它们打包为电子书并使用 iTunes 将其加载到您的设备中。不过,这可能不适用于 2GB 的数据。

于 2013-01-09T08:18:08.217 回答
0

是的,您可以使用元标记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是您将用于定义缓存内容的文件的名称。它可以命名任何东西,但我实际上叫 mine cache.manifest

<html lang="en" manifest="cache.manifest">

然后确保您的 Web 服务器的 MIME 类型.manifest设置为:

文本/缓存清单

然后创建一个名为 的文件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 ); 
};
于 2013-01-26T22:58:49.113 回答