WebKit 支持 HTML5 客户端数据库存储
HTML5 标准目前的草案规范中有很多令人兴奋的功能,我们最终希望在 WebKit 中实现。其中一个我们认为足够令人兴奋,即使规范仍在变化中也值得现在着手解决的功能是客户端数据库存储。所以在过去的几周里,andersca、xenon 和我一直在开发一个实现!
客户端数据库存储 API 允许 Web 应用程序使用许多 Web 开发人员已经熟悉的媒介——SQL——在本地存储结构化数据。
该 API 是异步的,并使用回调函数来跟踪数据库查询的结果。
即时定义回调函数的紧凑用法可能看起来像这样
var database = openDatabase("Database Name", "Database Version");
database.executeSql("SELECT * FROM test", function(result1) {
// do something with the results
database.executeSql("DROP TABLE test", function(result2) {
// do some more stuff
alert("My second database query finished executing!");
});
});
还有一个小型的示例,演示如何在真实站点中使用该 API,我们将努力随着事物的发展保持其更新。
这个初始实现缺少规范中的一些内容,并且有一些已知的错误。但它实现了基本功能,发现需要改进之处的最佳方式就是将其发布,让人们开始使用它!
如果您发现任何错误,想建议功能,或者对规范本身有任何不满,请访问#webkit或在 WebKit 邮件列表中给我们留言。
哦,还有一件事……
我们正在推出这个初始实现,它带有非常酷的 Web Inspector 支持!
到目前为止,您可以查看任何表的完整内容,并对页面正在使用的每个数据库运行任意查询。我们有很多改进的想法,但也希望能听到您的想法。