我有一个基于Web的Android应用程序,它使用WebSQL进行存储。出于某种原因,在一个点(响应按钮单击)调用openDatabase
,导致DOMException
带有消息"SECURITY_ERR: DOM Exception 18"
。SECURITY_ERR:DOM上的异常18 openDatabase上
请注意,我没有使用PhoneGap。
我在这里问的主要问题是:openDatabase
上DOMException 18的可能原因是什么?
更多详细信息: 只有在数据库尚不存在的情况下才会发生此异常。如果它已经存在,它按预期工作。调用openDatabase
的函数在应用程序的另一部分中使用,并且工作得很好。
我到目前为止已经试过:
- 减小数据库的大小 - 因为它是由应用程序的另一部分产生不应该是一个问题。
- 我检查过外部存储权限 - 再次,不应该是一个问题。
- 我在某处读到插入的USB电缆可能导致此问题 - 在这种情况下不会造成这种情况。
编辑: 这是命令的样子:
db = openDatabase('my_database', '1.0', 'My database description', 5*1024*1024, function() {});
是问题解决了......我面临同样的问题... – Aravin
从来没有找出原因是什么。最后,我发现WebSQL的稳定性在我的需求不同的Android设备/版本上过于不一致,所以我最终编写了一个原生界面,结果证明它更好。虽然我不再需要这个问题的答案,但是出于好奇的缘故,我仍然有兴趣听到一个问题。 – Goldsmith
我解决了这个问题..严格地说在设备就绪功能里面打开数据库.... – Aravin