브라우저에서 "메모리 부족 예외"를 처리하는 동안 오류가 발생했습니까?
메모리를 많이 사용하는 javascript/html5 웹앱 디버깅 중입니다.가끔 콘솔 창에 다음과 같은 오류 메시지가 나타납니다.
"uncaught exception: out of memory".
앱 내에서 이 오류를 우아하게 처리할 수 있는 방법이 있을까요?
궁극적으로 이런 일이 발생하지 않도록 이 부분을 다시 작성해야 합니다.
localStorage의 크기를 계산해야 합니다. window.localStorage가 가득 찼습니다.
그 해결책은 무엇인가를 추가하려고 노력하는 것입니다.
var localStorageSpace = function(){
var allStrings = '';
for(var key in window.localStorage){
if(window.localStorage.hasOwnProperty(key)){
allStrings += window.localStorage[key];
}
}
return allStrings ? 3 + ((allStrings.length*16)/(8*1024)) + ' KB' : 'Empty (0 KB)';
};
var storageIsFull = function () {
var size = localStorageSpace(); // old size
// try to add data
var er;
try {
window.localStorage.setItem("test-size", "1");
} catch(er) {}
// check if data added
var isFull = (size === localStorageSpace());
window.localStorage.removeItem("test-size");
return isFull;
}
최근에 JS가 많은 프로젝트를 진행하고 Json을 보낼 때도 같은 오류 메시지가 왔는데, 제가 찾은 해결책은 input type=" submit" 속성을 input type="버튼"으로 업데이트하는 것이었습니다.input type="button"을 사용하는 데 한계가 있다는 것을 알고 있습니다.> 그리고 솔루션이 이상해 보이지만 애플리케이션에 JS,Json 데이터가 있는 경우 시도해 볼 수 있습니다.감사해요.
파이어폭스에서도 같은 문제에 직면했고 나중에 if loop 내부의 로컬 스토리지에 일부 데이터를 설정하기도 전에 HTML 페이지를 다시 로드하려고 했다는 것을 알게 되었습니다.그래서 그것도 처리하고 신분증이 반복되는지 아닌지도 확인해야 합니다.
하지만 Chrome에서도 같은 것이 잘 작동하고 있었습니다.어쩌면 크롬이 더 지능적일지도 모릅니다.
언급URL : https://stackoverflow.com/questions/25903625/error-handling-out-of-memory-exception-in-browser
'programing' 카테고리의 다른 글
워드프레스페이지네이션wp_query->max_num_pages return 0 (0) | 2023.10.29 |
---|---|
하나의 선택기에 여러 이벤트 핸들러를 사용하는 JQuery.on() 메서드 (0) | 2023.10.29 |
이것이 정의되지 않은 C 동작입니까? (0) | 2023.10.29 |
아티팩트 com.oracle:ojdbc14:jar:10.2.0.1.0 누락 (0) | 2023.10.29 |
독트린2 - 한 발에 여러 번 삽입 (0) | 2023.10.29 |