이는 크롬과 파이어 폭스에서 완벽하게 작동합니다 :localStorage.getItem이 IE9에서만 실패하는 이유는 무엇입니까?
var webStorageSupported = ('localStorage' in window) && window['localStorage'] !== null;
if (webStorageSupported && localStorage.getItem("get_list_center") !== null) {
document.getElementById('mail_listing').innerHTML = localStorage.getItem("get_list_center");
}
하지만 IE9
에서 페이지를 볼 때 내가 알 수없는 예외가. 내가 입력하면 로컬 저장소에 요소와 콘텐츠를 모두 가져올 수 있습니다. 콘솔에 별도로 document.getElementById('mail_listing').innerHTML;
및 localStorage.getItem("get_list_center");
을 입력합니다.
나는 로컬 스토리지로 innerHTML
를 할당하려고, 알 수없는 예외가 발생합니다. 무엇이 주는가 ???
편집 : 주석의 제안에 따라 개별 변수에서 로컬 저장소를 가져 와서 해당 변수를 innerhtml에 할당하려고했습니다. 그것은 로컬 스토리지가 실제로 HTML 형식의 코드를 검색하는 것을 밝혀졌다, 그러나 전체 문자열을 저장할 수 없습니다 :
<table width="100%">......
<TD width=\"7%\" align=right>12K </TD></TR></TBODY></TABLE></DIV>\r\n<DIV style=\"DISPLAY: no
[[CUT OFF FROM HERE]]
내가 로컬 스토리지가 어떤 경우인지, 텍스트 5 MB의 최대 개까지 저장하는 인상이었다을 크롬과 파이어 폭스에 대해서는 어쩌면 이것이 IE9의 경우는 아닙니다. (편집 : google 검색 후, IE9 supports up to 10MB) 이 문제를 해결하기 위해 무엇을 할 수 있습니까?
Edit2가 : 나는 내용이 설정 한 후 바로 검색하면 로컬 스토리지가 제대로 전체 HTML 콘텐츠를 할당하는 것을 확인했습니다
localStorage.setItem('get_list_center', document.body.innerHTML);
var x = localStorage.getItem('get_list_center'); //GETS THE WHOLE HTML CONTENT CORRECTLY.
그것은 그냥 그 어디 선가에서 콘텐츠를 받고있을 때 그렇지 않으면 내가 필요로하는 곳에서 내용이 끊어집니다. localstorage는 다른 곳에서는 조작되지 않습니다.
중간 변수를 사용해 보셨습니까? 실제 코드에서 console.log를 사용하여 각 단계를 확인 하시겠습니까? –