快点〜Web应用程序无法打开数据库

快点〜Web应用程序无法打开数据库

我正在构建一个快速的 HTML5 应用程序,它运行良好,直到我尝试使用 WebSQL 存储,但无法打开数据库:

var db = openDatabase('mydb', '1.0', 'Test DB', 5 * 1024 * 1024);

给出下一个错误:错误:SECURITY_ERR:DOM 异常 18

调用webview的Python代码是这样的:

    self.webview = WebKit.WebView()
    self.scroller.add(self.webview)
    self.webview.props.settings.enable_default_context_menu = False
    self.webviewsettings = self.webview.get_settings()
    self.webviewsettings.set_property("javascript-can-open-windows-automatically", True)
    self.webviewsettings.set_property("enable-universal-access-from-file-uris", True)
    self.webviewsettings.set_property("enable-developer-extras", True)
    self.webviewsettings.set_property("enable-html5-database", True)
    self.webviewsettings.set_property("enable-html5-local-storage", True)
    self.webviewsettings.set_property("enable-offline-web-application-cache", True)
    self.webviewsettings.set_property('enable-file-access-from-file-uris', 1)
    self.webview.load_uri(get_media_file('app/index.html'))
    inspector = Inspector(self.webview.get_inspector())

    self.webview.show()

我做错了什么?任何帮助都将不胜感激(:

答案1

这与 python 无关,而是与 webkit 下的 javascript 有关。请参阅此问题在 Stack Overflow 上。

总而言之,您不能在本地网页上使用 openDatabase,您需要使用完整的本地服务器。

您可以使用简单HTTP服务器从 python 启动服务器并使用 webview 连接到它。

相关内容