在Greasemonkey脚本中存储数据

时间:2009-08-12 19:30:30

标签: javascript greasemonkey

GreaseMonkey是否内置了一些内容,因此您可以按站点或每页存储数据?例如,假设您想要调整StackOverflow.com,以便您可以为收藏夹列表中的每个问题添加注释,并对该注释进行排序。 GreaseMonkey是否有内置的东西来存储这些笔记?或者也许脚本可以自我修改,这样你只需定义一个数组或对象并将数据保存在那里?

3 个答案:

答案 0 :(得分:13)

是 - GM_setValue

  

此方法允许用户脚本作者在页面加载中保留简单值。   字符串,布尔值和整数是目前唯一允许的数据类型

答案 1 :(得分:2)

值仅限于简单数据类型:string,boolean和integer。这些值将存储在Firefox首选项(位于about:config中)中,该首选项不适用于存储大量数据。

http://wiki.greasespot.net/GM_setValue

如果GM_setValue未删除,则链接的问题/答案会显示其他可能性:alternatives to GM_setValue

答案 2 :(得分:0)

真的有必要补充说,自从提出这个问题以来,为持久数据存储开发了新的API。

本地存储

仅保留字符串值,非字符串值将转换为字符串。您可以使用JSON或您自己的格式来存储对象。

示例:

localStorage.my_script_value = JSON.stringify([1,2,3,4]);

var my_parsed_value = JSON.parse(localStorage.my_script_value);

IndexedDB

更复杂,但可以容纳更多数据 - 包括二进制blob。有关详细信息,请查看MDN文章。

示例:Check this on MDN