Safari 7中的openDatabase错误

时间:2013-10-21 04:34:02

标签: javascript safari web-sql

我的应用程序中有以下代码:

openDatabase('main', '1.0', 'Database display name', 50 * 1024 * 1024)

在苹果公司推出Safari 7之前一切正常。现在它失败了,但有以下例外:

  

SecurityError:DOM异常18:尝试突破   用户代理的安全策略。

有人知道如何解决它吗?

2 个答案:

答案 0 :(得分:5)

我找到了答案。希望它对其他人有用:

http://www.mobilexweb.com/blog/safari-ios7-html5-problems-apis-review

  

WebSQL错误   •使用WebSQL API时会出现大问题(DOMException)   试图创建一个大于5Mb的数据库。在以前的版本中,   在用户的许可下,限制为50Mb。因为一个错误,当你尝试   要存储超过5Mb的用户将获得权限对话框   仅限5Mb。即使用户授予你许可,因为它是   只有5Mb,你会得到一个例外,试图获得更多。这是一个很大的问题   BUG。

     

更新19/9:根据纽约时报的tarobomb,如果你要求的话   当您第一次创建数据库然后尝试时,小于5Mb   存储更多数据(最多50Mb)正确的确认对话框   出现(前10Mb,然后是25Mb,最后是50Mb),最后你会出现   能够存储超过5Mb。

答案 1 :(得分:0)

我把它搞定了。当你进入safari时,键盘左上方的一个小按钮显示“私有”,点击它以禁用它。数据库工作正常,但有marat提到的限制。但是(对于jQuery移动用户)! jquery mobile将无法使用后退按钮。为此,您必须从代码中删除appcache。 jquerymobile 1.4将解决这个问题,但是现在你必须没有appcache!