SECURITY_ERR:openDatabase上的DOM异常18

时间:2013-01-25 14:19:08

标签: android html5 web-sql opendatabase

我有一个基于网络的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() {});

2 个答案:

答案 0 :(得分:2)

我发现它与数据库的允许大小有关。 如果您尝试在iOS上打开大于50mb的数据库,则会出现此错误。

答案 1 :(得分:1)

根据规范the spec ,它仅由两个

引起
  • 如果请求违反了策略决策,用户代理可能会引发SECURITY_ERR异常而不是返回Database对象(例如,如果用户代理配置为不允许该页面打开数据库)。

    < / LI>
  • 如果origin不是scheme / host / port元组,则抛出SECURITY_ERR异常