Javascript Greasemonkey中的本地存储

Javascript Greasemonkey中的本地存储,javascript,greasemonkey,google-chrome-extension,local-storage,Javascript,Greasemonkey,Google Chrome Extension,Local Storage,我已经开始编写greasemonkey脚本,在greasemonkey脚本中执行本地存储时遇到了问题。我在GM中了解localstorage的唯一方法是在newElement.innerHTMLDOM属性中创建另一个Javascript实例,但在那里我的其余变量无法访问 有什么想法吗?这是我正在研究的Greasemonkey代码片段 var testHref = anchorTag[i].href; var testHTML = anchorTag[i].innerHTM

我已经开始编写greasemonkey脚本,在greasemonkey脚本中执行本地存储时遇到了问题。我在GM中了解localstorage的唯一方法是在
newElement.innerHTML
DOM属性中创建另一个Javascript实例,但在那里我的其余变量无法访问

有什么想法吗?这是我正在研究的Greasemonkey代码片段

        var testHref = anchorTag[i].href;
    var testHTML = anchorTag[i].innerHTML;
    var patHref = /item\?id=[0-9]*/g;
    var patCaptureId = /item\?id=([0-9]*)/g;
    var testId = patCaptureId.exec(testHref);
    var patHTML = /[0-9]* comment(|s)/g;
    var patHTML2 = /discuss/g;
    if(patHref.test(testHref) && !patHTML.test(testHTML) && !patHTML2.test(testHTML))
    {
        newElement = document.createElement('span');
        newElement.style.color = "#FF0000";
        newElement.innerHTML = "<a href=\"javascript:localStorage.setItem( 'one', 'rishabhVerma' ); var test = localStorage.getItem( 'one' ); console.log( test );\"> B</a>";
        anchorTag[i].parentNode.insertBefore(newElement, anchorTag[i].nextSibling); 
    }
    i++;
var testHref=anchorTag[i].href;
var testHTML=anchorTag[i].innerHTML;
var patHref=/item\?id=[0-9]*/g;
var patCaptureId=/item\?id=([0-9]*)/g;
var testId=patCaptureId.exec(testHref);
var patHTML=/[0-9]*注释(| s)/g;
var patHTML2=/discussion/g;
if(patHref.test(testHref)和&!patHTML.test(testHTML)和&!patHTML2.test(testHTML))
{
newElement=document.createElement('span');
newElement.style.color=“#FF0000”;
newElement.innerHTML=“”;
anchorTag[i].parentNode.insertBefore(新元素,anchorTag[i].nextSibling);
}
i++;

嗯,unsafeWindow.localStorage不起作用,我想是吧?我知道chrome获取本地存储不是问题,老实说,从来没有在firefox上尝试过。

如果你只需要存储值,你可以使用运行良好的
GM_getValue()
GM_setValue()
函数来使用经典的Greasemonkey方法


我刚刚在Greasemonkey脚本(在Mac上的Firefox 3.6中)中使用了
unsafeWindow.localStorage
,这似乎很好。请注意,使用unsafeWindow将允许网页检测并可能缩小Greasemonkey,如果它能够捕获调用unsafeWindow对象时发生的事件。此信息可以在@Basilevs进行验证。另一方面,大量数据将导致localStorage向您抛出异常;-)@JanDvorak我对数据量的评论不再相关了-Greasemonkey。