3

Web Extension API を使用して Firefox 拡張機能を作成しました。予備審査に合格しましたが、審査担当者は、インストール時に完全な審査を進めることができないと言いました。次のエラーが表示されます -

「拡張ストレージの JSON データを解析できません」

しばらく調べてみたところ、Firefox は、特定の拡張機能のすべてのローカル ストレージ データを読み書きする各拡張機能のプロファイル フォルダーに「storage.js」というファイルを作成することがわかりました。また、このファイルが作成される前に拡張機能がこのファイルに書き込もうとすると、「拡張ストレージに JSON データを書き込めません」というエラーがスローされ、このファイルが作成される前に拡張機能コードがこのファイルから読み取ろうとすると、エラー「拡張ストレージの JSON データを解析できません」というメッセージがスローされます。

さて、私の懸念は、ファイルが作成され、書き込みまたは読み取りが可能であることを確認するにはどうすればよいですか?

PS : これは、拡張機能をインストールした直後に発生します。後続のセッションでは、そのファイルが欠落していないため、このエラーは発生しません。

4

1 に答える 1

3

これは現在の Firefox 実装のバグのようで、あなたの評価は的を射ています:

  • 基礎となるExtStorageモジュールは常になどのreadgetに呼び出します。setwriteclear
  • read初めてストレージ API を使用して新しくインストールされたアドオンにはまだ存在しない可能性がある、基になる拡張機能固有のストレージ ファイルに無条件でアクセスしようとします。
  • したがってUnable to parse JSON data for extension storage、ストレージ API で何を行っても、そのようなメッセージの 1 つのログが記録されます。
  • したがって、メッセージのトリガーは避けられません。

次のことをお勧めします。

  • 編集者チームに連絡して、以下に基づいてアドオンを再評価するよう依頼してください。
    • 問題のメッセージは、実際には単なる警告です (アドオンがストレージ API に最初にアクセスした後に表示される場合)。
    • メッセージが実際のエラー (ストレージが破損している) であっても、それはあなたのエラーではありません。mozilla によるストレージ API の実装は、それよりも回復力が必要であり、とにかくあなたができることは何もないからです。
    • ストレージ API の最初の定期的な使用時に発行されるメッセージは、どの WebExtensions アドオンがその API をどのように使用するかに関係なく、mozilla のバグであり、あなたが引き起こしたものでも、自分で修正できるものでも、少なくとも回避できるものでもありません。
    • したがって、mozilla のバグが偽のメッセージを誤って 1 回ログに記録しただけで、他の重大な影響がまったくないという理由だけで、完全なレビューを拒否するのは... 疑わしいです。
  • これに関するバグを報告して、mozilla 開発者がこの問題に対処できるようにしてください。少なくとも Bill McCloskey (:billm) は彼がコードを書いたので、CC をしたいでしょう ;)
于 2016-05-31T07:18:08.273 に答える