2016-10-01 2 views
0

나는 꽤 간단한 확장 작업을하고 있습니다. 내 popup.html에는 미리 정의 된 옵션 집합을 나타내는 라디오 버튼이 있습니다. 문제는 내 콘텐츠 스크립트의 논리가 이러한 옵션에 달려 있다는 것입니다.popup.html의 입력 데이터를 localStorage에 저장할 수 있습니까?

그래서, 내 질문은 : 우리가 내가 'popup.html'즉시 같이가 someting 않는 일이 나의 라디오 버튼 선택의 변화에 ​​귀를 기울이며 (회의 크롬 CSP)에 스크립트를 첨부 할 것입니다 가정하자. localstorage.setItem (key, value)? 컨텐츠 스크립트가 적절한 순간에 로컬 스토리지에서이 가치를 얻을 수 있습니까?

+0

왜 그렇게 할 수 없습니까? – Fralec

+0

@Fralec 나는 이것에 아주 새로운 것이다. 그것이 내가 묻는 이유입니다. 'chrome.storage.localStorage.setItem()'을 호출해야합니까? – 52hertz

+0

['Window.localStorage'] (https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)와 ['chrome.storage'의 차이점에 대해서는 혼란스러워합니다. ] (https://developer.chrome.com/extensions/storage) 참조 : [window.localStorage vs chrome.storage.local] (http://stackoverflow.com/questions/24279495/window-localstorage-vs-chrome- 스토리지 로컬). 관심이 있다면 [이 답변] (http://stackoverflow.com/a/39236352/3773011)에는 데이터를'chrome.storage.local'에 저장하는 예제 팝업 및 옵션 페이지가 있습니다. Chrome 및 Firefox. – Makyen

답변

1

물론 그렇게 할 수 있습니다. 여기에 두 가지 예 :

chrome.storage.local.set({'value': theValue}, function() { 
    // Notify that we saved. 
    message('Settings saved'); 
}); 

chrome.storage.local.get('value', function(obj) { 
    //Notify that we get the value. 
    message('Value is ' + obj.value); 
}); 

아니면 동기화 스토리지를 사용할 수 있습니다 여기에

chrome.storage.sync.set({'value': theValue}, function() { 
    // Notify that we saved. 
    message('Settings saved'); 
}); 

chrome.storage.sync.get('value', function(obj) { 
    //Notify that we get the value. 
    message('Value is ' + obj.value); 
}); 

the documentation입니다.

chrome.storagewindow.localStorage의 차이점은 최근 브라우저마다 window.localStorage을 사용할 수 있다는 것입니다. 또한 웹 사이트에 있습니다. 저장된 객체는 사용자가 브라우저를 닫을 때까지 저장됩니다.

크롬 확장 프로그램을 제작 중이므로 해당 API를 사용하는 것이 좋습니다.

+0

이 질문은 특히 ['Window.localStorage'] (https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)에 관한 것이므로 해당 API와 ['chrome.storage'] (https://developer.chrome.com/extensions/storage). – Makyen

+0

다시 한번. 나는 그것을 올바르게 만들었습니다. popup.html을 만듭니다. '

관련 문제