我使用Web Extension API编写了一个Firefox扩展。它已通过初步审查,但审查员说他无法在安装时进行全面审查,他收到以下错误 -
“无法解析扩展存储的JSON数据”
经过一段时间的检查,我发现Firefox在配置文件夹中为每个扩展创建了一个名为“storage.js”的文件,用于写入和读取该特定扩展的所有本地存储数据。如果扩展程序在创建此文件之前尝试写入此文件,则会抛出错误“无法将JSON数据写入扩展存储”,如果扩展代码在创建此文件之前尝试从此文件读取,则会出现错误“无法解析扩展存储的JSON数据“被抛出。
现在,我担心的是我如何确定文件已经创建并且可以写入或读取?
PS:刚安装扩展时会发生这种情况。对于后续会话,由于该文件不再丢失,因此不会出现此错误。
答案 0 :(得分:3)
这似乎是当前Firefox实施中的一个错误,您的评估是现场的:
ExtStorage
模块将始终在read
,get
等之前调用set
,甚至write
和clear
。read
将无条件地尝试访问基础的,特定于扩展的存储文件,这些文件可能尚未首次使用存储API为新安装的加载项存在。Unable to parse JSON data for extension storage
消息。我建议你做以下事情: