openDatabase()方法抛出异常(SECURITY_ERR:DOM异常18)

时间:2011-09-22 15:55:54

标签: iphone ipad html5 ios4 cordova

openDatabase()方法在iPad 4.3以及所有iOS模拟器4.x上引发异常( SECURITY_ERR:DOM Exception 18 ),当数据库大小指定大于5 MB时。

使用PhoneGap 1.0.0在XCode 4.2(Mac OS X 10.6.8)下进行编译。

我们可以绕过这个限制吗?

以下是示例代码:

<!DOCTYPE html> 
<html> 
<head> 
    <script src="phonegap-1.0.0.js"></script>
    <script>        
        try {
            var db = window.openDatabase("TMA", "1.0", "TMA Mobile Database", 1024 * 1024 * 10);
        } catch (err) {
            alert(err);
        }
    </script> 
    <meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
</head> 
<body> 

</body>
</html>

1 个答案:

答案 0 :(得分:3)

根据this resource,iOS本身规定的最大尺寸为5mb。一旦达到5mb大小,它将询问用户是否希望它变大。

我怀疑它有什么好方法。

您是否尝试过创建多个数据库?也许两个5mb DB可以为你工作。