我有一个基于网络的Android应用程序,它使用WebSQL进行存储。出于某种原因,在某一点调用openDatabase
(响应按钮点击)会导致DOMException
发送消息"SECURITY_ERR: DOM Exception 18"
。
请注意,我没有使用PhoneGap。
我在这里要问的主要问题是:openDatabase
上DOMException 18的可能原因是什么?
更多细节:
仅当数据库尚不存在时才会发生此异常。如果它已经存在,它按预期工作。进行openDatabase
调用的函数在应用程序的另一部分中使用,并且运行正常。
到目前为止我尝试了什么:
修改 这是命令的样子:
db = openDatabase('my_database', '1.0', 'My database description', 5*1024*1024, function() {});
答案 0 :(得分:2)
我发现它与数据库的允许大小有关。 如果您尝试在iOS上打开大于50mb的数据库,则会出现此错误。
答案 1 :(得分:1)
根据规范the spec ,它仅由两个
引起如果请求违反了策略决策,用户代理可能会引发SECURITY_ERR异常而不是返回Database对象(例如,如果用户代理配置为不允许该页面打开数据库)。
< / LI>如果origin不是scheme / host / port元组,则抛出SECURITY_ERR异常