Tag: web storage

Android 4.0 – > 4.3(包含) – Webview页面之间的Web存储丢失

我正在开发一个Android项目,该项目依赖于WebView来浏览存储在设备上的多个HTML页面,并在需要将输入存储到数据库中时将其输入webview。 每个页面都包含与jQuery绑定到上一页/下一页的控件,每个页面包含不同类型的输入(复选框,文本字段等)。 最后一页包含一个Submit按钮,它使用JSInterface将结果保存在SQLite DB中。 另一个按钮(在自定义顶部导航栏中)提供相同的系统。 可以通过访问包含所有已保存输入的第一页来修改结果,jQuery系统将填充相应的输入。 有关更多详细信息,我正在使用SDK 19并针对4.4.2进行编译,但我曾经使用SDK 15并针对4.2.2进行编译,我没有遇到此问题。 如果有人需要查看已完成的操作,请在简化的系统中查看此JSBin 。 问题 我正在使用SessionStorage存储页面之间的输入,我曾经使用过cookie但是当有超过150个键/值对时它们变得不可靠。 我的问题是在某些设备上, SessionStorage在页面之间消失。 测试协议 第一种情况 – 仅保留在第一页 如果我只留在第一页,填写输入然后发送结果,一切都很好。 回来修改为我提供了一个完整的第一页。 第二种情况 – 在页面之间移动 填写第1页后,我转到第2页并填充新输入,然后在页面之间移动,以查看每个页面上的输入是否丢失。 一切都到位,但如果我发送结果,则只传输当前页面输入。 Android版测试结果 3.2 – 工程 4.1.2 – 不起作用 4.2.1 – 不起作用 4.3 – 不起作用 4.4.2 – 工程 测试解决方案 覆盖WebViewClient的shouldOverrideUrlLoading方法以返回False – 不起作用 使用LocalStorage而不是SessionStorage并没有改变一件事 洞察 从sessionStorage切换到localStorage没有帮助。 我找到了一些有关Android使用的WebKit版本的有用信息 : Android 3.2.1使用相当旧的版本,但它的工作原理(v534.13) 从4.0到4.3的 Android版本共享相同的WebKit引擎(v534.30) […]