假设我有一个数组test
,该数组通过GM_setValue('test', []);
存储,当脚本第一次运行时确保它在那里。无法通过Firefox中的密钥获取存储的对象值
现在,如果我是通过var test = GM_getValue('test');
分配局部变量test
这一点,在某些时候在脚本推一个新的对象,像这样test.push({id: '...'});
,然后在其上做这个GM_setValue('test', test);
存储阵列会是这样[{ id: '...' }]
保存。
现在我需要从脚本中稍后在数组中的对象中获取键值id
,因此我只需执行test[0]['id']
即可。但是,这似乎返回undefined。
Alrighty,很可能它没有存储出于某种原因对象,所以这里是我会做:
console.log(test);
console.log(test[0]);
console.log(test[0]['id']);
令人惊讶的是,test
返回一个包含对象,并依次编号的阵列,test[0]
返回包含具有正确值的id的对象,但test[0]['id']
仍会返回undefined。
这与Tampermonkey的Chrome完美搭配,但是当脚本在Firefox上运行Greasemonkey时出现问题。这个问题可能是什么?
噢,我不是个聪明人。我甚至也翻了几页浏览该页面。我很惊讶我还没有死于喝过期牛奶。谢谢! – AlphaDelta