一个程序免不了要储存数据,对于Chrome扩展也是这样。通常Chrome扩展使用以下三种方法中的一种来储存数据:第一种是使用HTML5的 对于一般的扩展,“设置”这种简单的数据可以优先选择第一种,因为这种方法使用简单,可以看成是特殊的JavaScript变量;对于结构稍微复杂一些的数据可以优先选择第二种,这种方法可以保存任意类型的数据,但需要异步调用Chrome的API,结果需要使用回调函数接收,不如第一种操作简单;第三种目前使用的不算太多,因为需要使用SQL语句对数据库进行读写操作,较前两者更加复杂,但是对于数据量庞大的应用来说是个不错的选择。开发者应根据实际的情况选择上述三种方法中的一种或几种来存储扩展中的数据。 由于上节已经讲解了 Chrome存储API Chrome为扩展应用提供了存储API,以便将扩展中需要保存的数据写入本地磁盘。Chrome提供的存储API可以说是对
对于第二点要进一步说明一下。首先 使用Chrome存储API必须要在Manifest的 对于每种储存区域,Chrome又提供了5个方法,分别是
chrome.storage.StorageArea.get(keys, function(result){ console.log(result); });
chrome.storage.StorageArea.getBytesInUse(keys, function(bytes){ console.log(bytes); }); 此处的
chrome.storage.StorageArea.set(items, function(){ //do something});
chrome.storage.StorageArea.remove(keys, function(){ //do something }); 其中
chrome.storage.StorageArea.clear(function(){ //do something}); 请注意,上述五种完整方法中, Chrome同时还为存储API提供了一个
chrome.storage.onChanged.addListener(function(changes, areaName){ console.log('Value in '+areaName+' has been changed:'); console.log(changes); });
Web SQL Database Web SQL Database的三个核心方法为 下面举一个简单的例子: db = openDatabase("db_name", "0.1", "This is a test db.", 1024*1024);if(!db){ alert('数据库连接失败。'); }else { db.transaction( function(tx) { tx.executeSql( "SELECT COUNT(*) FROM db_name", [], function(tx, result){ console.log(result); }, function(tx, error){ alert('查询失败:'+error.message); } ); } } 深圳市博纳网络信息技术有限公司
商务中心: 深圳市前海深港合作区前湾一路1号A栋201室 福田办公地址:深圳市福田区皇岗路5007神采苑402栋610 |
|