我的扩展程序将使用Chrome.Storage.Sync.Set
在字符串中保存这样的数据,然后我将使用正则表达式/类似的东西进行解释:
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
我希望将所有已保存的数据放在一个存储项中。即:
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
此页面here表示对于每个“同步存储中的单个项目,通过其值的JSON字符串加上其密钥长度来衡量。”,大小限制为8,192字节。 据我所知,我是否有可能超过极限?假设我有40个ID ..
答案 0 :(得分:9)
是。是的,您可能会超过limit。您当前的示例(包含4个ID)大约是半个千字节。所以你已经用64了。
然后,您的set
操作将失败,并且您的回调chrome.runtime.lastError
将会设置:
chrome.storage.sync.set(data, function() {
if(chrome.runtime.lastError) {
// Uh-oh..
}
});
请注意:
chrome.storage.local
。它有更加宽松的配额5,242,880字节.. "unlimitedStorage"
权限,则会将其删除。正如谷歌文档所说的那样,以一种有点诙谐的方式:
chrome.storage
不是一辆大货车。这是一系列的管子。如果你不明白,那些管子可以被填满,如果你把它们放进去就填满了它,它就会排成一行,任何把这些管子装进大量材料的人都会推迟它。 / p>
同步存储需要Google基础架构的支持 - 他们不愿意以无限量免费提供。