5

我要去一个 window.onerror “SECURITY_ERR: DOM Exception 18: 试图突破用户代理的安全策略。” 每次我加载我的 iOS PhoneGap 应用程序时。该应用程序使用本地存储和 webSQL。当我使用以下方法打开我的数据库时,我已经隔离了这个错误:db = window.openDatabase("db", "1.0", "Test DB", 1000000);

我以前没有遇到过这个问题,我的代码也没有改变——这只是现在出现的地方。我一直在查看 iOS 5.1 Web 视图存储错误,并担心它可能与此有关。

帮助?

4

2 回答 2

5

这是 iOS 5.1 中已确认的 Apple 错误。此 PhoneGap/Cordova 问题跟踪器中的详细信息:https ://issues.apache.org/jira/browse/CB-347

于 2012-04-04T15:23:47.847 回答
1

我用过这个,它工作得很好。试试这个

try { 
if (!window.openDatabase) { 
        alert('not supported'); 
} else { 
        var shortName = 'WineDatabase'; 
        var version = '1.0'; 
        var displayName = 'PhoneGap Test Database'; 
        var maxSize = 655367; // in bytes 
        mydb = openDatabase(shortName, version, displayName, maxSize); 
    }
} catch(e) { 
// Error handling code goes here. 
if (e == INVALID_STATE_ERR) { 
        // Version number mismatch. 
        alert("Invalid database version."); 
} else { 
        alert("Unknown error "+e+"."); 
} 
return; 
} 

编辑

当时我在ios上使用Phonegap。所以我没有得到它,现在在黑莓phonegap上我遇到了同样的问题,发现原因是:插入数据电缆时,应用程序无法在SDCard上写任何东西。所以我拔下它并运行正常。抱歉,哥们不是 ios 的解决方案但是正在为黑莓搜索此问题的人可以使用此解决方案。

于 2012-04-04T06:26:55.740 回答