Chrome 확장 프로그램 콘텐츠 스크립트를 사용하여 페이지에 추가되는 맞춤 메뉴를 만들었습니다. 확장 기능은 훌륭하게 작동하고 메뉴는 원하는대로 나타납니다.chrome.storage에 액세스하기위한 Chrome 확장 프로그램 콘텐츠 스크립트
나는 조금 더 가서 1 또는 0 중 하나에 var에 menuToggle를 정의합니다 온/오프 스위치와 옵션 페이지를 추가 할, 그리고 VAR는 IF 조건에 부착됩니다
IF menuToggle == 1 // Do something
ELSE // console.log("var is 0, menu not loaded");
"localstorage.menuToggle = 1;"을 사용하여 확장 환경에서이 작업을 할 수있었습니다.,하지만 내 확장 내에서 인스턴스에 대해서만 작동하고 콘텐츠 스크립트는이 var에 액세스 할 수 없다는 것을 알고 있습니다.
chrome.storage API에 대해 official docs을 거쳤지만 솔직히 프로그래밍 초기 단계부터 많이 이해하지 못했습니다.
chrome.storage.sync.set을 사용해야합니다.하지만이 설정을 올바르게 설정하는 방법과 콘텐츠 스크립트 내에서 데이터를 한 번 가져 오는 방법 중 하나를 얻지는 못했습니다. 나는 울부 짖는 소리와 같은 뭔가를 시도했지만 작동하지 않았다 :
chrome.storage.sync.set({'menuToggle': '1'}, function(){});
질문을 여기에 : 나는 sync.set 후 함수를 정의해야합니까? 그 후 아무 기능도없이 데이터를 저장할 수 있습니까? 내가 잘못 무엇
var varMenuToggleDefault = 1;
localStorage.varMenuToggle = 1;
$("input:checkbox[name=onoffswitch]").change(function() {
if ($(this).is(':checked')) {
localStorage.varMenuToggle = varMenuToggleDefault;
console.log('Switch is ON');
console.log("Var is: " + localStorage.varMenuToggle);
} else {
localStorage.varMenuToggle = "0";
console.log('Switch is OFF');
console.log("Var is: " + localStorage.varMenuToggle);
}
if (localStorage.varMenuToggle == 1) {
// Load the menu
} else {
// console.log("varMenuToggle is 0. Menu NOT loaded");
};
/실종 :
우는 소리가 나는 로컬 스토리지에 사용되는 코드는?
빠르고 쉬운 답장을 보내 주셔서 감사합니다. 내가 이해 한 바로는 ** sync.get **에 값을 가져 오도록 요청해야하기 때문에 콜백 내부의 콘텐츠 스크립트 내에 if 조건을 삽입해야합니다. var를 검색 한 후에 올바른 값을 입력해야합니다. ? 같은 뭔가 : 'chrome.storage.sync.get ("menuToggle", 기능 (데이터) { VAR menuToggle = data.menuToggle, (menuToggle == 1) {} 을 무언가를이 경우}' – SoMeGoD
내가 고생 이 테스트를하지만 당신의 도움으로 나는 메뉴를 추가 할 것인지 안할 것인지 값을 설정하고 얻어 낼 수있다. 비록 이것이 최선의 방법인지 모르겠지만, 이벤트 페이지를 사용하여 처음으로 var를 설정했다. 할부 후에. – SoMeGoD