如果你想使用你的backgroundpage即暫時存儲數據:
// 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];
}
}
}
其實,你的背景頁面應該存儲設置並將它們讀出來供各種請求它的設備使用。即使配置頁面也必須從後臺頁面獲取/設置設置。可能是http://stackoverflow.com/questions/1961544/communication-between-the-options-page-and-background-page-in-google-chrome可以提供幫助。 – SuperSaiyan