我正在使用Greasemonkey / Tampermonkey来访问页面,并根据当前页面的内容对100个元素的表进行更改。
短期存储和数组操作可以正常工作,但是我想永久存储数据。我已经试过GM_getValue/ GM_setValue,GM_SuperValue,localStorage,和indexedDB,但我清楚地失去了一些东西根本。
似乎没有什么可以让我将数组写入永久存储,然后再将其读回到变量中,以便我可以访问每个元素,因此variablename[32]实际上是表中的第32个元素(嗯,如果从零开始计数,则为第33个元素,我做)。
脚本运行时,我需要访问整个100个元素的表,因为我需要在页面本身上输出其中的部分或全部。在最基本的情况下,我有一个for循环,该循环从0到99,输出variablename[i]每次的值。
我对任何方法都没有倾向,我只想让Grickasemonkey / Tampermonkey脚本中的frickin工作。
在脚本顶部,我有这个:
for (var i = 0; i <= 99; i++) {
currentData[i] = localStorage.getItem(currentData[i]);
}
Run Code Online (Sandbox Code Playgroud)
上一节的目的是将100个条目读入currentData数组。现在这实际上对我不起作用,可能是因为我一开始没有正确存储东西。
在中间,在修改了其中一个元素之后,我想通过执行以下操作来替换它:
localStorage.setItem(
currentData[specificElementToChange], differentStuff);
Run Code Online (Sandbox Code Playgroud)
上面的目的是更改100行数据之一并将其永久存储,因此,下次读取顶部的代码时,它将拉出所有100个条目,而上一行更改了一个元素。
这是一般原则。
由于Firefox / Chrome的某些安全性问题,或者由于要执行的操作(在每次访问给定页面时将数组永久存储在一个元素上而永久更改),我无法确定我的操作是否无效不可能。
使用该variable[element]格式访问数组很重要,但除此之外,我可以用任何方式存储此数据并简单地检索它。