2016-10-04 7 views
0

解析されたアンカー要素は、2つの手順でローカルストレージに保存できます。
STEP1
inspect--consoleでコードを実行するには、クロム
STEP2
https://www.yahoo.com/を開きます。なぜ解析結果をlocalstorageに自動的に保存できないのですか?

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として保存します。 Chromeでファイル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ののlocalStorageで見ることができます。

+0

実際にあなたの鍵はparse_anchor'と 'result'があなたの値である'です。オブジェクトをlocalStorageに格納したい場合は、このスレッドをチェックアウトすることができます:http://stackoverflow.com/questions/2010892/storing-objects-in-html5-localstorage –

答えて

0

DOMオブジェクトの配列をlocalStorageに保存しようとしているようです。

localStorage.setItem(key, value); 

キーと値の型は[DOMString][1]ですが、あなたはobjectを保存しようとしています| array

localStorageに保存しようとしているものがわかりませんが、これは実際に動作するスニペットです。

EDIT:

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)); 
} 
+0

私の問題は、コードをparse_anchorとして保存するときです。 htmlを開き、ファイル 'parse_anchor.html'を開きます。解析されたアンカー要素はlocalstorageに保存されていません。 –

+0

'JSON.stringify(result));'は関係ありません。 –

+0

'localStorage.setItem(" parse_anchor "、result);' 'localStorage.setItem(" parse_anchor "、JSON.stringify(result));'と同じ効果があります。 –

関連する問題