Chrome.storage.sync 在重新加载扩展程序时会被覆盖
Chrome.storage.sync get overwritten when extension reload
我有一个chrome扩展,它使用从chrome.storage中存储的数组获取的数据创建上下文菜单。此数组在选项.html页面中更新。
上下文菜单创建器工作正常,但是当我打开选项页面并在重新加载扩展后尝试将新值插入数组时,它会被覆盖,丢失以前的值。¿有什么解决办法吗?编辑 1为了澄清。存储被保留,但是当我尝试将某些内容推送到数组中时,它会覆盖整个阵列。
编辑2
选项.html
function save_options() {
var id = document.getElementById('id').value;
ids.push(id);
chrome.storage.sync.set({
'movieId': ids
}, function() {
// Feedback
var status = document.getElementById('status');
status.textContent = 'Options saved.';
setTimeout(function() {
status.textContent = '';
}, 750);
});
createRow(1);
}
这就是我用来升级阵列的代码。
正如@BenjaminGruenbaum所说,我正在var ids = []
擦除以前存储的数据。只需擦除它,代码就可以工作。
相关文章:
- 在这个使用hasOwnProperty的对象扩展程序中有一个错误,I'我不确定那个bug是什么,也不确定这个扩展
- Google Chrome扩展程序可以检测所有脚本何时加载完成吗
- jQuery$.ajax扩展程序XDomainRequest
- 扩展引导程序的typeahead以便获取对象而不是字符串
- 通过chrome后台扩展或后台应用程序访问用户麦克风
- 如何使用ngModel将自定义控件的提供程序扩展器分离到Angular 2中的单独文件中
- 为什么不'我的扩展程序不会出现在Chrome网上商店的搜索结果中
- Chrome扩展程序将所有链接替换为略微修改的版本
- 在 Chrome 扩展程序中创建自定义事件的最惯用方式
- Chrome APP/扩展程序从网址下载文件
- 列出谷歌浏览器中安装的所有扩展程序
- 使用多功能框在 chrome 扩展程序中包含内联自动填充功能的任何方法
- 浏览器扩展程序来跟踪我的谷歌活动
- 什么是最好的javascript数组库/实用程序/扩展
- 在ios 8应用程序扩展javascript文件中使用jQuery
- jquery复选框树是否支持使用类选择器而不是Id进行程序扩展
- 将Node.js应用程序扩展到1000个同时连接中的10个
- 如何使用OAuth与Facebook在Safari应用程序扩展
- 在js中用程序扩展一个可折叠的集合
- 如何在IOS操作应用程序扩展中调试JavaScript