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
에서 전체 로컬 저장소 액세스를 얻으려면 어떻게해야합니까?
localStorage.status가 반환하는 이유 ** 정의 ** 매니페스트 파일을 확인하고 localStorage.status ? localStorage.length를 전달하면 올바른 길이가 표시됩니다. 이제 내 다음 궁금증은 ** 전체 로컬 저장소 **를 ** 패스 스크립트로 ** 전달할 수 있다는 것입니다. ** –
JSON.stringify()를 localStorage와 함께 사용하십시오. 이 문자열을 contentscript에 보내고 JSON.parse()를 사용하여 객체를 가져옵니다. –