2017-11-13 10 views
1

로컬 저장 장치에 저장하려고 할 때 동일한 창을 열어 다른 사이트를 확인한 후 저장 항목을 표시해야하지만 브라우저를 닫은 후 다시 shoudnt가되면 메모장을 사용하고 있습니다. ++ , < 섹션> 태그가 작동하지 않습니다. 다른 텍스트의 색상은 약간이지만이 색상은 완전히 검은 색입니다. localStorage.setItem 및 localStorage.getItem도 시도했습니다. 로컬 저장소 (html5)에 저장하지 않습니까?

function doFirst() { 
 
    var button = document.getElementById("button"); 
 
    window.addEventListener("click", saveCrap, false); 
 
    display(); 
 

 
} 
 
function saveCrap() { 
 
    var one =document.getElementById("one").value; 
 
    var two =document.getElementById("two").value; 
 
    sessionStorage.setItem(one, two); 
 
    display(); 
 
    document.getElementById("one").value = ""; 
 
    document.getElementById("two").value = ""; 
 
} 
 
function display() { 
 
    var rightbox = document.getElementById("rightbox"); 
 
    rightbox.innerHTML = ""; 
 

 
    for (var x=0;x<sessionStorage.length;x++) { 
 
     var a= sessionStorage.key(x); 
 
     var b= sessionStorage.getItem(a); 
 
     rightbox.innerHTML += a+" - "+b+"<br/>"; 
 
    } 
 
} 
 
window.addEventListener("load", doFirst, false);
#leftbox { 
 
    float:left; 
 
    padding:20px; 
 
    border:3px solid red; 
 
} 
 
#rightbox { 
 
    float:left; 
 
    width:250px; 
 
    margin-left:20px; 
 
    padding:20px; 
 
    border:3px solid blue; 
 
}
<!DOCTYPE html> 
 
<html lang="en"> 
 
    <head> 
 
     <title>Log In</title> 
 
     <meta charset="utf-8"> 
 
     <!-- < meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> --> 
 
     <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.css" /> 
 

 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
 

 
     <link rel="stylesheet" href="boston.css"> 
 
     <script src="boston.js"></script> 
 

 
     <style> 
 
      * { 
 
       box-sizing: border-box; 
 
       -webkit-box-sizing 
 
       -moz-box-sizing: border-box; 
 
      } 
 
      body { 
 
       margin:50px 0; 
 
       padding:0px; 
 
       text-align:center; 
 
      } 
 
     </style> 
 

 
    </head> 
 
    <body> 
 

 
     <section id="leftbox"> 
 
    
 
      <form> 
 
       <p>(key) One: <input type="text" id="one"></p> 
 
       <p>(value) Two <textarea id="two"></textarea></p> 
 
       <p><input type="button" id="button" value="Save"></p> 
 
      </form> 
 
     </section> 
 
    
 
     <section id="rightbox"> 
 
      Nothing yet hoss! 
 
     </section> 
 
    
 
    </body> 
 
</html>

+4

코드에서 아무 것도 localStorage에 저장하지 않습니다. 그냥 sessionStorage인가요? 세션이 지워지기 때문에 데이터가 지속되지 않는다는 것을 이해할 수 있습니다. – filoxo

+0

사용자가 로그인 할 때 로그인 정보를 사용하고 있습니다. sags와 two : shgr을 입력하면 정보가 로컬 저장소에 저장됩니다. 나는 언제든지 내가 갈 수 있고 새 사용자가 있는지 확인하기를 원할 때 이것을 도울 수 있습니까? –

+0

... 또한 로컬 저장소를 로컬로 테스트하지 않고 있는지 확인하십시오 (일부 브라우저 또는 모든 브라우저) 로컬 저장소 개체를 로컬 응용 프로그램에 노출하는 것을 거부합니다. –

답변

2

HTML 웹 저장소 개체. HTML 웹 저장소는 클라이언트에 데이터를 저장하는 의 두 객체를 제공합니다. window.localStorage - 만료일이 인 데이터를 저장합니다. window.sessionStorage - 하나 개의 세션 에 대한 데이터를 저장 (브라우저 탭을 닫을 때 데이터가 손실됩니다)

당신이 세션은 다음과 같은 로컬 저장을 사용 걸쳐 데이터를 유지하려면이

//Set data 
localStorage.setItem('key','value'); 

//Get data 
var data = localStorage.getItem('key'); 

이 무엇을 당신 해야합니까

function doFirst() 
    { 
     var button = document.getElementById("button"); 
     window.addEventListener("click", saveCrap, false); 
     display(); 

    } 
    function saveCrap() 
    { 
     var one = document.getElementById("one").value; 
     var two = document.getElementById("two").value; 
     localStorage.setItem(one, two); 
     display(); 
     document.getElementById("one").value = ""; 
     document.getElementById("two").value = ""; 
    } 
    function display() 
    { 
     var rightbox = document.getElementById("rightbox"); 
     rightbox.innerHTML = ""; 

     for (var x = 0; x < localStorage.length; x++) 
     { 
      var a = localStorage.key(x); 
      var b = localStorage.getItem(a); 
      rightbox.innerHTML += a + " - " + b + "<br/>"; 
     } 
    } 
    window.addEventListener("load", doFirst, false); 
+0

그래, 내가 그런 식으로 코드를 바꿨지 만 브라우저 데이터를 닫으면 길을 잃을 까? –

+0

지속성이 일관되게 구현되지 않습니다. 특히 localStorage는 사용자 작업에 의해 지워질 수 있으며 실수로 지워질 수 있습니다 (모든 쿠키를 지우면 localStorage도 지워지겠습니까?). – Hey24sheep

+1

"종료시 브라우저 기록 삭제"가없는 한 LS는 지워지지 않습니다 – Hey24sheep