有谁知道为什么IE不接受字符串变量作为方法setItem的参数? 适用于Chrome。
IE上的示例:
这有效:
var itemName = 'anyname';
localStorage.setItem(itemName, 'anything');
这不是:
var itemName = 'anyname';
var stringName = 'some string content';
localStorage.setItem(itemName, stringName );
这会产生“无效的参数错误”。
对此有何帮助? 谢谢! :)
修改 该帖子涉及另一个问题,该帖子中给出的例子(对他不起作用的那个)实际上对我有用! 我的问题表明方法setItem不接受字符串变量但接受普通的包含引用字符串。 同样的帖子中给出的解决方案对我的问题是不可接受的,我不能指望最终用户会安装IE11错误修复程序。
答案 0 :(得分:3)
经过大量搜索后,问题在于字符串的内容。 IE11 setItem方法不接受某些字符。我原来的字符串内容有'|'之类的东西和'〜'。
我找到的唯一解决方法是在将encodeURI(yourStringHere)发送到setItem方法之前和decodeURI之后使用它。