打开 Safari 7 上的数据库错误

openDatabase error at Safari 7

本文关键字:数据库 错误 Safari 打开      更新时间:2023-09-26

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

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

在苹果推出Safari 7之前,它运行良好。现在它失败,出现以下异常:

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

有人知道如何解决吗?

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

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

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

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

我想通了。当您进入 safari 时,键盘左上角的一个小按钮显示"私人",单击它以禁用它。该数据库可以正常工作,但存在马拉提到的限制。 但是(对于jQuery移动用户)!jQuery Mobile 将无法使用"后退"按钮。为此,您必须从代码中删除应用程序缓存。jquerymobile 1.4 将解决此问题,但现在您将不得不在没有 AppCache 的情况下生活!