2012-05-22 3 views
2

Chrome 확장 프로그램을 개발하려고합니다. 그것에는 하나의 옵션 페이지와 contentscript.js이 모두 manifest.js에 등록되어 있습니다.Chrome 확장 프로그램의 콘텐츠 스크립트에서 로컬 스토리지에 액세스

option.js에 로컬 저장소를 사용했습니다. 지금은 내가 contentscript.js에서 background.js에 요청을 보낼 수있는 다음과 같은 코드를 발견 contentscript.js에서 로컬 스토리지의 데이터에 액세스하려면 :

chrome.extension.sendRequest({method: "getStatus"}, function(response) { 
    console.log(response.status); 
}); 

그리고 background.js 응답하려면 다음을 사용 :

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) { 
if (request.method == "getStatus") 
     sendResponse({status: localStorage['status']}); 
else 
     sendResponse({}); }); 

를 지금은 다음 보여주는 오류 :

undefined in line "console.log(response.status);" in file contentscript.js .

무엇이 문제입니까? contentscript.js에서 전체 로컬 저장소 액세스를 얻으려면 어떻게해야합니까?

답변

0

작동 코드처럼 보입니다.

http://code.google.com/chrome/extensions/messaging.html http://code.google.com/chrome/extensions/content_scripts.html

+0

localStorage.status가 반환하는 이유 ** 정의 ** 매니페스트 파일을 확인하고 localStorage.status ? localStorage.length를 전달하면 올바른 길이가 표시됩니다. 이제 내 다음 궁금증은 ** 전체 로컬 저장소 **를 ** 패스 스크립트로 ** 전달할 수 있다는 것입니다. ** –

+0

JSON.stringify()를 localStorage와 함께 사용하십시오. 이 문자열을 contentscript에 보내고 JSON.parse()를 사용하여 객체를 가져옵니다. –

관련 문제