调用openDatabase的Mobile Safari中的状态错误,DOM异常11无效

Chr*_*her 3 javascript sqlite exception mobile-safari ios

我有一个在init上调用openDatabase()的webapp.这在桌面浏览器Chrome和Safari中运行良好; 但是,当我尝试在iOS 4.3.3上的Mobile Safari中打开应用程序时,我在第一页加载时遇到异常:

"错误:INVALID_STATE_ERROR:DOM异常11"

这在一个简单函数中的openDatabase()上失败:

       try {
            if( !window.openDatabase) {
                console.log('SQLite is not supported by this browser');
            }
            else {
                db = openDatabase('MyMobileDb', '1.0', 'MyMobileDb', 65536);
                if (doreset)
                {
                    //my drop and reset DB function
                } else
                {
                    //my init DB function
                }
            }
        }
        catch(e) {
            console.log(e);
        }
Run Code Online (Sandbox Code Playgroud)

未创建数据库,也无法与应用程序进一步交互.运行早期版本的iOS的其他开发人员没有遇到针对相同代码bade的此问题.我也从我们的QA团队获得Android报告类似行为的报告.Android 3.1有效,而2.2和2.1则无效.

我该怎么做才能解决这个问题?

maj*_*ann 6

我意识到在你的问题中并非如此,但是为了防止其他人偶然发现这里寻找答案,我遇到了同样的错误,这是因为我传递了一个数字值而不是字符串.