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

    最佳答案

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

    09-25 19:53