HTML5 on iPhone Safari - data stored by localStorage does not always persist. Why?
Solution 1
According to Apple (https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Name-ValueStorage/Name-ValueStorage.html#//apple_ref/doc/uid/TP40007256-CH6-SW3), localStorage support was added in Safari 4.0.
According to Wikipedia (https://en.wikipedia.org/wiki/Safari_version_history), Safari 4.0 was added in iPhone OS 3.0.
2G iPhones did not come with OS 3.0 or later pre-installed. Your iPhone OS version is most likely too old.
Solution 2
I think there is a bug with local storage in iPhone Safari. I have a similar problem as you: http://groups.google.com/group/phonegap/browse_thread/thread/746868e928aaba5c
Admin
Updated on June 14, 2022Comments
-
Admin almost 2 years
I write a simple iPhone web app using HTML5's localStorage.
Tests on a 2G device show that data stored using localStorage does not persist after the Safari process is killed although the opened Safari windows are remembered.The data is also lost in a case where I am on a different site on a different Safari window, then I change the window to where the web app in subject is shown. When Safari loads the page it automatically refreshes the page. Then the data is lost. This is a simple test code:
<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>
As far as I understand the data should persist!
Can anyone shed some light on this behavior? What should I do to get the persistence to work?Thanks!
Tom. -
Admin almost 14 yearsI am running OS 3.1.2. Did you kill the safari process? or rebooted the device and still you got the data correctly the next time you visited the page?
-
Admin over 13 yearsMy 2G iPhone runs OS is 3.1.2.