为什么无法自动将解析后的结果保存到localstorage中?

时间:2016-10-04 11:44:34

标签: javascript google-chrome location local-storage

解析后的锚元素可以通过两个步骤保存在localstorage中 第一步
在chrome中打开https://www.yahoo.com/ 第二步
inspect--console

中运行代码
var as=document.getElementsByTagName('a');
var result='';
for(var i=0;i<as.length;i++){
    result +=as[i]+"  ";
 }
localStorage.setItem("parse_anchor", result);

enter image description here

要打开localstorage,键为parse_anchor,值为result(长字符串)。

enter image description here

现在编写以下代码并将其另存为parse_anchor.html

<html>
<script type="text/javascript">
window.location.href="https://www.yahoo.com/";
var as=document.getElementsByTagName('a');
var result='';
for(var i=0;i<as.length;i++){
     result +=as[i]+"  ";
 }
localStorage.setItem("parse_anchor", result);
</script>
</html>

当使用chrome打开文件parse_anchor.html时,在chrome的localstorage中看不到任何键值对。

1 个答案:

答案 0 :(得分:0)

看起来你正在尝试将DOM Object的数组保存到localStorage中。

localStorage.setItem(key, value);

键和值类型为[DOMString][1],但您尝试保存object | array

我不知道你要在localStorage上存储什么,但这是一个实际可行的片段。

编辑:

window.onload = function(){
    var as=document.getElementsByTagName('a');
    var result='';
    for(var i=0;i<as.length;i++){
         result +=as[i]+"  ";
     }
    localStorage.setItem("parse_anchor", JSON.stringify(result));
}