10

我已经开始编写一个greasemonkey 脚本,并且在Greasemonkey 脚本中执行本地存储时遇到了问题。我可以在 GM 中找出 localstorage 的唯一方法是在newElement.innerHTMLDOM 属性中创建另一个 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++;
4

2 回答 2

12

如果您只需要存储值,您可以采用经典的 Greasemonkey 方式使用GM_getValue()GM_setValue()运行良好的功能。

于 2011-06-28T18:15:01.437 回答
8

嗯,我猜 unsafeWindow.localStorage 不起作用?我知道chrome获取localStorage不是问题,老实说从未在Firefox上尝试过。

于 2010-10-31T13:51:42.573 回答