10

HTML5 の localStorage を使用して単純な iPhone Web アプリを作成します。
2G デバイスでのテストでは、開いている Safari ウィンドウは記憶されていますが、localStorage を使用して保存されたデータは、Safari プロセスが強制終了された後は保持されないことが示されています。

別の Safari ウィンドウの別のサイトにいる場合もデータが失われ、ウィンドウを件名の Web アプリが表示されている場所に変更します。Safari がページをロードすると、ページが自動的に更新されます。その後、データが失われます。これは簡単なテスト コードです。

<html>
<head>
    <meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
</head>
<body>
<script>
    alert("1:" + localStorage.getItem("test"));
    localStorage.setItem("test", "123");
    alert("2:" + localStorage.getItem("test"));
</script>
</body>

私が理解している限り、データは持続するはずです!
誰でもこの動作に光を当てることができますか? 永続性を機能させるにはどうすればよいですか?

ありがとう!
トム。

4

3 に答える 3

2

Apple によると ( https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Name-ValueStorage/Name-ValueStorage.html#//apple_ref/doc/uid/TP40007256-CH6-SW3 ) 、 localStorage サポートは Safari 4.0 で追加されました。

ウィキペディア ( https://en.wikipedia.org/wiki/Safari_version_history ) によると、Safari 4.0 は iPhone OS 3.0 で追加されました。

2G iPhone には、OS 3.0 以降がプリインストールされていませんでした。お使いの iPhone OS のバージョンが古すぎる可能性があります。

于 2010-08-19T20:20:39.737 に答える
1

iPhone Safari のローカルストレージにバグがあると思います。私はあなたと同様の問題を抱えています: http://groups.google.com/group/phonegap/browse_thread/thread/746868e928aaba5c

于 2010-07-05T14:35:27.290 に答える
0

あなたのコードを iPhone 3G と Windows の Safari で試してみましたが、うまくいきました。iPhone で古いバージョンの Safari を実行している可能性がありますか?

于 2010-05-19T14:38:03.360 に答える