我试着创建一个小的safari扩展,主要是为了好玩,看看你能做些什么等等。
无论如何,我正在考虑将我的扩展的一些数据存储在本地数据库中,所以我总是在需要的地方保存它,跨页面加载。
我在谷歌上搜索了一下,从Safari Reference Library中找到了这段代码,它将创建一个JavaScript数据库:
var shortName = 'mydatabase';
var version = '1.0';
var displayName = 'My Important Database';
var maxSize = 65536; // in bytes
var db = openDatabase(shortName, version, displayName, maxSize);这工作得很好,并且创建了我想要的数据库。唯一的问题是,这个数据库是特定于域的,所以我创建数据库的脚本将为访问的每个域创建一个数据库,这并不是我想要的。
那么,如果可能的话,如何创建一个可以分配给safari扩展的本地存储数据库,以便它在所有域上都可用呢?
发布于 2010-06-28 12:14:32
正确的方法应该是从全局页面而不是从注入的脚本中完成。问题是,它不会起作用。
从全局页创建脱机数据库会触发SECURITY_ERR。这是一个已知的错误,应该在下一个版本中修复。
所以,现在,没有办法做到这一点。
编辑正如布莱恩指出的,这个问题从Safari5.0.3开始就已经修复了。你必须在扩展构建器中指定一个数据库大小配额,然后它就可以工作了。
https://stackoverflow.com/questions/3121066
复制相似问题