私が理解したところでは、Greasemonkeyを使用してファイルを読み取ることはできません。私は多くの静的な設定ファイルを定義する必要があり、ユーザスクリプトにそれらを直接組み込むのは完全に面倒です。Greasemonkeyスクリプト内の設定ファイル
そのデータを保存して取得するには、どのような方法が最適ですか?
私が理解したところでは、Greasemonkeyを使用してファイルを読み取ることはできません。私は多くの静的な設定ファイルを定義する必要があり、ユーザスクリプトにそれらを直接組み込むのは完全に面倒です。Greasemonkeyスクリプト内の設定ファイル
そのデータを保存して取得するには、どのような方法が最適ですか?
はい、it is not possible, by design, to read local filesを使用して自動的にそれをロードすることができます。
ファイルがすべて1ページのテキストであり、それを頻繁に変更しない場合は、Dr.Molleの回答ごとにGM_getResourceText()
を使用してください。
ファイルが大規模である場合、または急速に変更された場合は、サーバー上でホストし、実行時にGM_xmlhttpRequest()
を使用して必要なファイルを読み込みます。下記の項目2を参照してください。 GM_getResourceText()
を使用して
続行する最も簡単かつ最速の方法です。 configファイルのサイズが合理的な大きさ(平均で1K未満)であれば、このメソッドはおそらくAjaxに依存するメソッドよりも高速です(150(!!!)ファイルでさえ)。
欠点:設定ファイルを編集する場合は、awkward pathをブックマークして覚えておく必要があります。 (EG:C:\Documents and Settings\<Windows login/user name>\Application Data\Mozilla\Firefox\Profiles\<profile folder>\gm_scripts\YOUR_SCRIPT_NAME\
)
比較的静的なファイルを使用できない場合や、使用したくない場合は、サーバー上に設定ファイルをホストして、GM_xmlhttpRequest()
スクリプトが実行されるときに必要なファイル。
独自のサーバーをお持ちでない場合は、Google Docsのような場所にファイルをホストできます。
GM_getValue()
を使用したりglobalStorage or local storageを使用すると、すべてについて configファイルのデータを取得し、非常に高速かつ効率的に(としたいデータのみ)することができます。しかし、を保存することは、あなた自身のツールを書くことができない限り(これは痛みですが、others have done it)、データが大きな痛みになることがあります。
@require
を使用すると、設定ファイルが実際に有効なJavaScriptコードでない限り、GM_getResourceText()
を超える利点はありません。また、この方法では、インクルードファイルの名前が変更されるたびに、またはファイルを追加または削除するたびに、スクリプトをアンインストールしてから再インストールする必要があります。
推奨しません。
あなたはressourceロードできますhttp://wiki.greasespot.net/GM_getResourceText
セッションの終了後、Ressourceはローカルハードドライブに残りますか?この方法で150個のファイルをロードするとスクリプトが遅くなると思いますか?選択的で適切な設定ファイルだけをロードする方法はありませんか? –