2012-06-03 8 views
3

내 Chrome 확장 프로그램을 빌드 할 때 설정을 저장하는 중에 문제가 발생합니다. 사용자가 browserAction 아이콘을 클릭하면 탭에 열리는 설정 페이지를 만들었습니다. 이 페이지에는 내 확장 기능 설정을위한 UI가 있으며, 예를 들어 설정을 localStore에 저장할 수 있습니다. 그러나이 설정을 읽어야하는 내 확장 프로그램의 배경 페이지에는 localStore가 없습니다.크롬 확장 스토어

어디에서 브라우저에 액세스 할 수 있고 "영원히"저장되도록 확장 프로그램 설정을 저장해야합니까? 어떤 도움

감사합니다 ...

+1

을 , 배경 페이지는 설정을 저장하고 그것을 요청하는 다양한 유닛에 대해 읽어야합니다. 구성 페이지에서도 배경 페이지에서 설정을 가져 오거나 설정해야합니다. http://stackoverflow.com/questions/1961544/communication-between-the-options-page-and-background-page-in-google-chrome이 도움이 될 수 있습니다. – SuperSaiyan

답변

1

당신이 당신의 backgroundpage 사용하여 temporarly 데이터를 저장하려면 :

// in your backgroundpage 
// Set a value 
window['yourvalue']=123; 
// Get a value 
alert(window['yourvalue']); 

// in any other page (options/popup/message/whatever) 
var bg=chrome.extension.getBackgroundPage(); 
// Set a value 
bg['yourvalue']=123; 
// Get a value 
alert(bg['yourvalue']); 

난 항상 내 확장에이 기능을 사용 : 사실

var bg=chrome.extension.getBackgroundPage(); 
// Save data 
function save(key, val) { 
    bg[key]=val; 
    var data={}; 
    var tmp=localStorage.getItem("MyPlugin"); 

    if(tmp!=null&&tmp.indexOf("{")>-1&&tmp.indexOf("}")>-1) 
    { 
     data=JSON.parse(tmp); 
    } 
    data[key]=val; 
    localStorage.setItem("MyPlugin", JSON.stringify(data)); 
} 

// Restore the data 
var data={}; 
var tmp=localStorage.getItem("MyPlugin"); 

if(tmp!=null&&tmp.indexOf("{")>-1&&tmp.indexOf("}")>-1) 
{ 
    data=JSON.parse(tmp); 
    for (var key in data) { 
     if (data.hasOwnProperty(key)) { 
      bg[key]=data[key]; 
     } 
    } 
}