此错误不会在其他任何地方发生。我什至可以毫无问题地打开一个版本数据库(然后是另一个虚构的测试数据库)。但是当我打开主数据库时,我得到了错误。
我一直在使用的过程是从版本数据库中获取版本,如果失败,请尝试高于和低于该版本的一系列版本。我这样做是因为如果在我的打开过程中某处发生崩溃,版本号可能会变得混乱,或者数据库可能会在特定版本上进入错误状态(我认为这就是正在发生的事情)。
var myDB =openDatabase("Todo", "1.0", "Todo manager", dbSize); // gives SECURITY_ERR: DOM exception 18 on Android only
我认为问题是由于以下原因之一: 1. 我第一次使用错误的版本,如果你第一次错过它,android 总是失败。2. 即使我在设置中清除历史记录和缓存(只有我能找到清除任何内容的地方)它实际上并没有删除数据库。3.也许真的有某种类型的安全错误?!
而已。我没有给你的代码。我的代码是一个 3000 行的 js 文件,它将不受支持的异构离线数据库的大杂烩变成了一个单一的东西。我只是在寻找一些关于可能出现问题的一般想法。