6.1. 存取持久数据

Greasemonkey 定义了两个函数,GM_setValueGM_getValue,用户脚本就可以存取“私有”数据,并且只有这个用户脚本才能访问。(其他脚本无法访问这些数据,并不仅仅是用户脚本。)可以使用这两个函数存储脚本专有的配置,维护在页面之间持续的缓存,或者记持续的活动日志。

[注意]

GM_setValue 保存的和 GM_getValue 读取的数据与浏览器 cookies 很相似,但也有重要的区别。两者都存放在本地电脑中,但是 cookies 是域名专用的而且只能被创建它们的域名访问,Greasemonkey 配置值是脚本专用的而且只能被创建这些参数的脚本访问(与执行用户脚本的 URL 也无关)。而且与 cookies 不同的是,配置值绝不会发送到远程服务器上去。

GM_setValue 保存脚本专用配置值,GM_getValue 读取它。

function GM_setValue(key, value);

function GM_getValue(key, defaultValue);

key 参数是没有固定格式(no fixed format)的字符串。value 可以是字符串,布尔值或者整数。GM_getValuedefaultValue 参数是可选的;如果设置了此参数,当查询的 key 指定的值不存在时返回此默认参数。如果不设置 defaultValue,当查询的 key指定的值不存在时,GM_getValue 会返回 undefined

这2个函数由 Greasemonkey 0.3 引入。您应该测试它们是否存在,否则完全降低(degrade gracefully)。

参考资料

← 高级话题
在菜单栏上添加菜单项 →