30

iOS で HTML + JS を使用して「ネイティブ Web アプリ」を構築しようとしています。ご存じかもしれませんが、このようなアプリケーションをホーム画面に追加すると、通常のネイティブ アプリのように見えます。

ただし、そのようなアプリを終了して再度開くと、ページ全体が再度リロードされます。これは、マルチタスク バーを介して別のアプリケーションからそのようなアプリケーションに切り替えるときにも発生します。

これは予期された動作ですか、それともデバイスがこれを行うのを止める方法はありますか?

例として、ここから jqTouch-Demos をホームスクリーンに追加してテストできます: http://jqtouch.com/preview/demos/main/

4

4 に答える 4

10

アプリの状態を localStorage に保存できます。再起動時に、状態が実行中であるかどうかを確認してから、アプリを前回の場所に復元します。

于 2010-12-15T19:39:35.100 に答える
2

ここでも同じ問題。とにかく、車輪を再発明したくない場合は、PhoneGap (http://www.phonegap.com/) のようなツールを使用できます。多数のネイティブ機能へのアクセスが組み込まれたネイティブ Web アプリケーション ラッパー。また、アプリケーションをローカルに保存し (高速で安全)、もちろん課金することもできます ;) BSD または MIT ライセンスに基づいています。

于 2011-07-08T05:09:01.713 に答える
0

ファイルのロードを防ぐために、キャッシュマニフェストの使用を検討することをお勧めします。

マット・マイトはここに良い記事を書いています:

http://matt.might.net/articles/how-to-native-iphone-ipad-apps-in-javascript/

基本的に、htmlタグをこれに変更します

<html manifest="cache.manifest">

そして、どのファイルをデバイス キャッシュに保持し、どのファイルをネットワークから動的にリロードするかを指定するサーバーに cache.manifest ファイルを書き込みます。

CACHE MANIFEST
local1.file
local2.file

NETWORK:
network1.php
network2.cgi

また、Web サーバーが MIME タイプが text/manifest の .manifest ファイルを提供していることを確認する必要があります。そうしないと、これは機能しません。Apache を使用している場合は、.htaccess ファイルに次の行を追加します。

AddType text/cache-manifest .manifest
于 2011-07-15T03:23:11.440 に答える