2014-12-22 5 views
0

로컬 저장소에 물건을 넣으려고했는데 로컬 저장소의 정보를 변수에 넣으려고하면 "정의되지 않음"이라고 표시됩니다.변수에 Chrome 저장 용량 데이터를 저장하는 방법은 무엇인가요?

var data = {}; 
chrome.storage.local.get(["murl", "musername", "mpassword"], function(result){ 
    data["url"] = result.murl; 
    data["username"] = result.musername; 
    data["password"] = result.mpassword; 
    alert(result.musername); 
}); 
alert(data["username"]); 

그것은 첫째 쇼 : 그래서 여기 내 코드 정의되지 않은 다음이 Ebbez을 보여주고, 또한 이상한 내가 마지막 줄을 제거 할 때, 나는 Ebbez를 얻을 수있다.

+1

이 결과는 'chrome.storage.local.get' 메소드의 비동기로 인해 발생합니다. 앞에서 보았 듯이, 콜백이 끝날 때'alert (result.musername) '을 넣으면 예상되는 결과가 발생합니다. 'chrome.storage.local.get' 메소드 호출 후에 왜'alert'을 원합니까? –

+0

'alert' 함수는 어떤 것을 보여 줍니까? Chrome 앱에서 사용 중지되었습니다. –

+0

@jarrodek 질문에 태그가 있습니다. [태그 : google-chrome-extension] – Xan

답변

0

chrome.storage 기능이 필요한 정보를 저장하려면 여기에 몇 가지 예가 있습니다.

// Save 1 data item 
chrome.storage.sync.set({"variableName":value}); 

// Save multiple data items 
chrome.storage.sync.set({"variableName":value, "secondVariableName":secondValue}); 

// Load 1 data item 
chrome.storage.sync.get("variableName", function(result){ 
    // Shows variable 
    alert(result.variableName); 
}); 

// Load multiple data items 
chrome.storage.sync.get(["variableName", "secondVariableName"], function(results){ 
    // Shows multiple variables 
    alert(results.variableName); 
    alert(results.secondVariableName); 
}); 
관련 문제