Почему не удается автоматически сохранить результат анализа в localstorage?

Анализируемые элементы Привязки могут быть сохранены в localstorage двумя шагами.
Шаг 1
Открытие https://www.yahoo.com/в chrome
step2
Для запуска кода 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);

Введите описание изображения здесь

Чтобы открыть localstorage, parse_anchorможно увидеть key is и value is result(длинная строка).

Введите описание изображения здесь

Теперь напишите следующий код и сохраните его как 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 в локальном хранилище chrome не отображается пара ключ-значениеparse_anchor.html.

1 ответ

  1. Похоже, вы пытаетесь сохранить массив объектов DOM в 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));
    }