45

Facebook 用の Greasemonkey/Tampermonkey スクリプトを 1 つ作成しました。後で取得するためにデータを保存する必要がありました。そのために私は使用しlocalStorageました。

それはうまくいきました。しかし、数時間後に、保存したすべてのデータが自動的に削除されることに気付きました。おそらく Facebook 自体がすべての localStorage データを削除します。

代替品を探しました。

  1. Cookie : いいえ、ユーザーが履歴を消去すると削除されます。
  2. Web SQL : w3.org によって削除されたようです。したがって、近い将来、chrome も web sql を使用していない可能性があると思います。

クライアントシステムにデータを保存したい。どのようなオプションがありますか? ファイルシステムを使用してデータを保存する必要がありますか?

4

1 に答える 1

74

Tampermonkey (Chrome) と Greasemonkey (Firefox)を使用しているため。どうぞご利用GM_setValue()ください。Facebookや他のウェブサイトではクリアできません。

値をドメイン間で保存できるという利点もあります。

~~~
bog-standardはFirefox ではGM_setValue()多少問題があることに注意してください。スクリプト インスタンスが無効な値でクラッシュする可能性があります。そのため、文字列以外のものを保存するには、 GM_SuperValueなどのシリアライザーを使用することをお勧めします。無害に見える整数でさえ、デフォルトをクラッシュさせる可能性があります。GM_setValue()

現在、両方のブラウザで永続データに使用できるのはGM_setValue()、Cookie、localStorage、およびIndexedDBのみです。

IndexedDB もおそらくあなたが望むことをするでしょうが、GM_setValue().


更新:
最近では、使用することを忘れないでください:

  • // @grant GM_setValue
  • // @grant GM_getValue

また、GM_SuperValue ライブラリを使用する場合は、次のように追加します。

// @require http://userscripts-mirror.org/scripts/source/107941.user.js 

メタデータ ブロックで。(userscripts.org は長い間死んでいるので。)

于 2013-04-03T10:20:37.643 に答える