アドオンSDKを使用してFirefox拡張機能を開発していて、同じパッケージに別のファイルとして保存されているデータを読み込む必要があります。 .json "スクリプトsrcタグを使用して「panel.html」に含まれるページスクリプト、つまり「loader.js」からロードする必要があります。JSONファイルをFirefoxアドオンページにロードするスクリプト内のすべてのパッケージ内のスクリプト
構造は、このようなものです:
+data
panel.html
panel.js
loader.js
data.json
...
+lib
main.js
...
panel.htmlがあります
<script type="text/javascript" src="loader.js"></script>
当初、我々は "data.js" として単にJSファイルにデータを保存し、 "からインクルードpanel.html "のスクリプトsrcタグを使用しても問題なく動作しました。しかし、アドオンをMozilla Addonサイトに提出したときには、これを解決するための課題の1つとして、JSONファイルなどの非実行形式を使用して安全性を高める必要があるという問題が修正されました。
"loader.js"はAJAXリクエストを "data.json"にすることができないようです。 (JQuery $ .ajax()呼び出しを使用すると、エラーコード0が返され、エラーコードは返されません)。私が考えていたソリューションは、SDKのrequest()関数を使用してmain.jsから "data.json"何らかの形でそれを "loader.js"というページスクリプトに渡します。しかし、私が理解する限り、最初にコンテンツスクリプトにデータを送信し、そこからページスクリプトにデータを送信する必要があるため、これは複雑なようです。そして、これはページスクリプトがロードされているときに起こる必要があります!もっと実用的な解決策がないのかどうかわからないので、私は混乱しています。ローカルJSONデータをローカルページスクリプトにロードするだけです。