Opera脚本和存储状态(如greasemonkey中的GM_SetValue)

时间:2009-06-22 03:10:57

标签: greasemonkey opera userscripts

有没有办法在Opera中存储用户脚本的状态?在GreaseMonkey中,可以使用GM_SetValue / GM_GetValue。我看到一个脚本使用cookies在Opera中模拟它们但我不喜欢这个想法有几个原因(主要是限制大小的cookie)。还有另一种存储状态的方法吗?

2 个答案:

答案 0 :(得分:1)

我有两个想法:

<强> 1。 Google Gears

Google GearsDatabase API。你可以存储&amp;用SQL获取数据 我知道这是为了你的目的而超出规范,但我想这种方式只是一个。

<强> 2。 SharedObject(Flash)

Flash可以使用 SharedObject 将数据存储到本地 它类似于cookie,但比cookie更大。

  • cookie:4kb
  • SharedObject:100kb(默认)

答案 1 :(得分:0)

Violentmonkey,至少,支持 GM_(delete/getset)Value。 但我确定互联网上的也是如此,不是吗?

在使用这些之前,我使用了 localStorage,这真的很棒。

它们兼容当今的所有浏览器(甚至是opera 12)。

这就像每个站点的 cookie:一个网站只能看到它自己的本地存储。 GM_setValue 是每个用户脚本。 但在实践中,由于用户脚本通常是为一个网站编写的,所以它会是一样的。

你有这个:

localStorage.setItem(name, value)
localStorage.getItem(name)
localStorage.removeItem(name)

就容量而言,GM_setValue 只受您的硬盘空间限制,localStorage 容量有限但相当大,然后cookie 容量非常有限。