我曾经有一个脚本,用于GM_setValue()
存储页面中的一大块 html,并将其加载到另一个页面上。所以:
var data = '<div id="test">testing</div>';
GM_setValue("test", data);
alert(GM_getValue("test", "failed"));
会提醒<div id="test">testing</div>
。
最近我们放弃了 GM API,转而使用 jQuery 和 HTML5,并将 GM_setValue GM_getValue 替换为如下函数:
function $setVal(name, value){
localStorage.setItem(name, value);
return false;
}
function $getVal(name, notset){
return localStorage.getItem(name) || notset;
}
现在的问题是它不能像 GM equivs 那样存储 HTML 字符串。使用新功能后,示例脚本将警告失败。
我试过用正则表达式转义,用 转义escape()
,但我没有运气。
有谁知道该怎么做?
编辑:尴尬的是,这实际上似乎工作正常。只是不在我需要的范围内。我有一个文本框,它在提交测试时被简单地评估为 javascript,当我从那里调用该函数时,它可以工作,但是在代码调用时会出错。感谢您的帮助,但实际上它似乎并不像我想象的那样成为问题,抱歉。