잘 작동하고있는 앱에서 크롬 저장 공간을 사용하고 있습니다. 이 과정은 매우 간단합니다. 사용자가 이메일과 비밀번호를 입력하면 앱에서 XHR 요청을 사용하여 확인하고 chrome.storage.local.set
을 사용하여 세션을 유지 관리합니다. 세션이 설정되면 chrome.runtime.reload()
을 사용하여 앱을 다시로드합니다. 모든 재로드시에 checkLogin 함수를 사용하여 세션이 활성 상태인지 확인합니다. 그것은 잘 작동했다. 하지만 지금은이 오류를 받고 있어요 :chrome.runtime.reload() - 패키지 된 앱 후에 chrome.storage.local.get이 비어 짐
이 스토리지는 스토리지의 키워드를 찾을 수없는 응용 프로그램 및 응용 프로그램을 다시로드하고 정의되지 않은 오류를 반환 한 후 빈 얻을 것으로 보인다. 여기
사용자가 인증되면 호출되는 코드 : 응용 프로그램 내가 저장 한 세션 검사를 다시로드
postLogin = function (resultData) {
if (resultData.authStatus == 1) {
chrome.storage.local.set({'userData': resultData}, function(){
console.log("session saved");
});
chrome.runtime.reload()
}
else {
$("#result").html(resultData.authMsg);
$("#result").attr('style', 'display: inline-block !important');
}
return false
}
되면 :이 시점에서
checkLogin = function() {
console.log(chrome.storage);
chrome.storage.local.get("userData",function(result) {
userData = result.userData;
if (userData && userData.authStatus == 1) {
console.log("--- user signed In ---")
return true;
}
console.log(" ---- unable to find user session ----")
$("#auth-dialog").attr('style', 'display: inline !important');
return false;
})
}
을 내가 오류를 받고 있어요 위 스크린 샷에 첨부되어 있습니다. 또한 console.log(chrome.storage);
을 사용하여 저장소 상태를 확인하고 undefined를 반환했습니다. 이상한 일은 일단 내가 수동으로 코드의 .get
부분이 잘 작동 애플 리케이션을 다시 시작합니다. 처음에는 저장된 저장소 값을 가져 오기 위해 페이지를 다시로드해야한다는 오류가 표시됩니다.
매니페스트 :
{
...
"permissions": [ "unlimitedStorage", "clipboardRead", "clipboardWrite", "nativeMessaging" , "storage" ],
}
UPDATE : 포스트 제목에서 언급 한 바와 같이
문제가 chrome.storage
하지입니다. chrome.runtime.reload()
의 주요 문제. 초기 앱 출시 이후 앱이 chrome.
부터 시작하여 다시로드되는 즉시 chrome.runtime.reload()
으로 전화 할 때마다 작동하지 않습니다.
앱입니까, 확장 프로그램입니까? 그것은 오직 하나 여야합니다. 적절한 태그 만 포함하도록 질문을 편집하십시오. – Makyen
주제에 관한 질문을 편집하십시오 : 문제가 중복되는 [mcve]를 포함하십시오. Chrome 확장 프로그램 또는 Firefox WebExtensions의 경우 * manifest.json * 및 백그라운드, 콘텐츠 및/또는 팝업 스크립트/HTML 중 일부와 웹 페이지 HTML/스크립트를 포함시켜야합니다. 디버깅 도움말을 찾는 질문은 (1) 원하는 동작, (2) 특정 문제 또는 오류 및 (3) 코드를 재현하는 데 필요한 가장 짧은 코드를 포함해야합니다. 질문 자체에. 또한 [여기에 어떤 주제를 물어볼 수 있습니까?] (/ help/on-topic) 및 [ask]를 참조하십시오. – Makyen
코드, 오류 및 데이터를 이미지가 아닌 ** 텍스트 ** ([using code formatting] (// stackoverflow.com/editing-help#code))로 추가하십시오. 이미지 : A) 테스트를 위해 코드/오류/데이터를 복사 및 붙여 넣기하는 것을 허용하지 않습니다. B) 코드/오류/데이터 내용을 기반으로 검색을 허용하지 않습니다. 및 [기타 여러 가지 이유] (https://meta.stackoverflow.com/a/285557)를 참조하십시오. 일반적으로 코드/오류/텍스트 형식의 데이터 >>>> 이미지로 코드/오류/데이터 >> 아무것도. 이미지는 단지 텍스트 코드/오류/데이터에 의해 전달되지 않는 중요한 것을 추가하는 경우 * 코드 형식의 텍스트 이외에 사용되어야합니다. – Makyen