如何在Qt 5.3中启用LocalStorage

joh*_*fee 4 qt webkit local-storage

我试过这个方法:

QWebSettings* settings = QWebSettings::globalSettings();
settings->setAttribute(QWebSettings::LocalStorageEnabled, true);
auto path = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation);
settings->setOfflineStoragePath(path);
Run Code Online (Sandbox Code Playgroud)

window.localStorage为true(非null或undefined),但是当我将一个项插入localStorage时:

localStorage.setItem("b","isaac");
alert(localStorage["b"]);
Run Code Online (Sandbox Code Playgroud)

发生错误,webkit检查器控制台中的错误消息是:

QuotaExceededError:DOM异常22:尝试向超出配额的存储添加内容.

Dan*_*iev 6

我整天都在肆虐,因为在重新启动应用程序后它无法正常工作.所以我认为这对某人有帮助:

QWebSettings* settings = QWebSettings::globalSettings();
settings->setAttribute(QWebSettings::LocalStorageEnabled, true);
auto path = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation);
settings->setOfflineStoragePath(path);
settings->enablePersistentStorage(path);
Run Code Online (Sandbox Code Playgroud)

请注意enablePersistentStorage