3

我正在将基于 HTML 的应用程序移植到三星智能电视。该应用程序使用本地存储来保存首选项等。似乎支持本地存储,并且在浏览器打开时数据是持久的。但是,一旦浏览器退出......噗!数据不见了。会话和 cookie 等其他数据确实存在。

我在应用程序中使用了Lawnchair 库,并且还使用jStorage进行了测试。除了关闭浏览器之外,它们都不会持续存在。

电视上的浏览器(或浏览器组件)是 webkit build 534.7。从玩浏览器开始,我怀疑它实际上是用 Adob​​e Air 编写的。

我还在我的 PC 上测试了 Air 浏览器组件,它是 webkit 的 build 533.19.4。这似乎根本不支持本地存储。

我 PC 上的 Chrome,构建 535.19 的 webkit,在我所有的测试中都可以正常工作。

那么,责任在哪里:是 webkit 构建、webkit 在 Adob​​e Air 中的实现,还是电视?任何人都可以提供解决方法或建议吗?

谢谢。

4

2 回答 2

3

不幸的是,我没有 2012 型号,所以我无法检查 HTML5 localStorage 是否正常工作。

但是我为您提供了一种解决方法,它也将向后兼容以前的电视机型号,因为 2010 和 2011 型号使用 Maple 浏览器:http: //www.samsungdforum.com/Guide/View/Developer_Documentation/Samsung_SmartTV_Developer_Documentation_3.1/API_Reference/ JavaScript_APIs/File_API

  1. 序列化你的数据对象
  2. 使用 File API 将其保存到应用程序目录
  3. 每次打开应用程序时都会打开此文件并反序列化数据。

这肯定会奏效!

于 2012-05-16T06:56:03.990 回答
1

1-您使用文件 api 2-您可以设置 cookie

我曾经试图保存我的应用程序的首选项,并且使用 cookie 似乎更容易。我对 html5 了解不多,但在电视中,您应该检查允许哪些功能。大多数智能电视都部分支持 html5。

于 2012-05-16T21:00:37.370 回答