크롬 확장 프로그램이 일부 정보를 저장하고 싶은데 코드를 시작하는 방법을 잘 모르겠습니다. 문자열을 저장하려면이 프로그램이 필요합니다. 예를 들어-사용자가 문자열 (팝업 위의 텍스트 영역)을 입력하면이 문자열이 팝업에 표시됩니다. 사용자가 종료하고 반환하면 문자열이 동일하게 유지되기를 원합니다. (저는 그것을 저장해야한다고 믿습니다) 저는 그것을 제 서버 나 그와 비슷한 것에 저장하고 싶지 않습니다. 사용자 캐시 등에 저장하고 싶습니다.
답변
이제 Google Chrome의 storage
API를 활용 하여이 작업도 수행 할 수 있습니다. 와 달리 localStorage
콘텐츠 스크립트에서도 액세스 할 수 있습니다.
// Somewhere in your manifest...
{
"permissions": [
"storage"
]
}
// Usage:
// PERSISTENT Storage - Globally
// Save data to storage across their browsers...
chrome.storage.sync.set({ "yourBody": "myBody" }, function(){
// A data saved callback omg so fancy
});
chrome.storage.sync.get(/* String or Array */["yourBody"], function(items){
// items = [ { "yourBody": "myBody" } ]
});
// LOCAL Storage
// Save data to storage locally, in just this browser...
chrome.storage.local.set({ "phasersTo": "awesome" }, function(){
// Data's been saved boys and girls, go on home
});
chrome.storage.local.get(/* String or Array */["phasersTo"], function(items){
// items = [ { "phasersTo": "awesome" } ]
});
이러한 헛소리가 작동하는 방식에 대한 자세한 내용은 https://developer.chrome.com/extensions/storage#type-StorageArea를 참조하세요.
이전 답변 :
localStorage를 사용하십시오 . Google 크롬은 HTML5의 일부 기능을 구현하며 그중 하나입니다.
//Pull text from user inputbox
var data = document.getElementById("this_input").value;
//Save it to the localStorage variable which will always remember what you store in it
localStorage["inputText"] = data;
백그라운드 페이지 (컨텐츠 스크립트 없음)에서만 스토리지에 액세스 할 수 있으므로이를 위해 메시징을 사용해야합니다.
답변
이제 특정 API가 있습니다. https://developer.chrome.com/extensions/storage 에서 확인하십시오.
백그라운드 페이지에서만 사용할 수 있으며 격리 된 세계에서 작동합니다 (웹 사이트의 HTML5 localStorage에 포함 된 값에 액세스하지 않음).