使用.crx将预定义的数据发送到浏览器本地存储
send predefined data to browser local storage with .crx
我正在构建我的第一个chrome扩展,为此我想在客户端浏览器中有一些预定义的数据。
我希望数据能够被用户通过扩展方式编辑,并保存更改。
我首先想到的是使用HTML5 local database
或Indexed Database API
。(我做得对吗?)
但是我不知道如何将这个本地数据库发送到.crx
的客户端。因为数据库将与浏览器而不是扩展。
如何通过。crx将数据发送到客户端浏览器并将数据保存在浏览器上?(我知道在浏览器上保存数据是不对的,但如果我把数据保存在扩展名上,我就不能保存数据了)
我可以用什么其他方法来实现需求?
如果我想使用Indexed Database API
,我可以使用相同的方法吗?
我的数据不是简单的键值对,而是表类型的数据。
我没有任何数据访问部分的代码,因为我想确定在我继续
不可以,你不能用ctx文件发送数据库文件。很简单,你无法在客户端取代它。实际上你有两个选择:
1)保存预定义的数据到您的扩展名(在任何扩展名文件。将整个查询或数据保存为JSON),并在第一次运行后执行这些查询到本地数据库。
2)创建web服务,从那里你将获得预定义的数据,并将其保存到本地数据库。
例如(data.json):
[{"name":"name", "desc":"desc","some_column":"some value"},{"name":"name", "desc":"desc","some_column":"some value"}, ...]
在background.html: var xhr = new XMLHttpRequest();
xhr.open('GET', chrome.extension.getURL('data.json'), false);
var dataStr = xhr.send(); //don't do this way. use asynch api :)
var data = JSON.parse(dataStr);
//connect to local database
for(var _item in data){
//create query to insert data into DB
//and exequte query
}
相关文章:
- web浏览器中的离线应用程序存储数据并在之后上传
- Django会话与浏览器本地存储
- qoxdoo中的离线存储是否与所有浏览器和本地文件系统兼容
- 制作一个阻止存储在浏览器历史记录中的网页
- 在 Angularjs 中浏览器页面的客户端加载中存储参考数据
- 浏览器会话存储.在选项卡之间共享
- 浏览器的本地存储有多安全
- 在客户端/浏览器端存储照片(不是照片的链接)
- 如何在浏览器中存储缓存
- 方法存储数据,直到浏览器关闭
- 如何使用jquery将ajax响应存储在浏览器缓存中
- 如何在Ember.js中禁用数据适配器以仅使用浏览器存储
- 浏览器存储 - 物理位置
- 如何在用户上跨浏览器存储数据's机器
- 浏览器存储Etag的方式和时间
- 用angularjs把数据写入本地浏览器存储
- 停止浏览器存储访问历史记录
- 如何停止浏览器存储密码值
- 将用户文本区内容保存到浏览器存储中
- web部署-JavaScript:如何检查图像或任何资产是否由浏览器存储,而不是从互联网下载