【发布时间】:2013-01-09 12:35:51
【问题描述】:
我有一个基于 Web 的 Android 应用程序,它使用 WebSQL 进行存储。出于某种原因,在某一时刻调用openDatabase(响应按钮单击)会导致DOMException 带有消息"SECURITY_ERR: DOM Exception 18"。
请注意,我没有使用 PhoneGap。
我在这里要问的主要问题是:openDatabase 上的 DOMException 18 的可能原因是什么?
更多细节:
仅当数据库尚不存在时才会发生此异常。如果它已经存在,它将按预期工作。调用openDatabase 的函数在应用程序的另一部分中使用并且工作正常。
到目前为止我所做的尝试:
- 减少数据库的大小 - 应该不是问题,因为它是由应用程序的另一部分创建的。
- 我已经检查了外部存储权限 - 再次,应该不是问题。
- 我在某处读到,插入的 USB 电缆可能会导致此问题 - 而不是在这种情况下导致此问题的原因。
编辑: 这是命令的样子:
db = openDatabase('my_database', '1.0', 'My database description', 5*1024*1024, function() {});
【问题讨论】:
-
这个问题解决了吗...我也面临同样的问题...
-
从未发现原因是什么。最后,我发现 WebSQL 的稳定性在不同的 Android 设备/版本上无法满足我的需求,因此我最终编写了一个本地接口,结果证明它要好得多。虽然我不再需要这个问题的答案,但出于好奇,我仍然有兴趣听听。
-
我解决了这个问题..在设备就绪功能中严格调用开放数据库....
-
你在使用PhoneGap吗? (只是要求避免混淆,因为最初的问题是非PhoneGap)
标签: android html web-sql opendatabase