gpt4 book ai didi

javascript - 使用 webview 时,HTML localStorage 在 Android 上为 null

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:22:05 26 4
gpt4 key购买 nike

我正在尝试从我的本地网络应用程序使用本地存储,这是 WebView 初始化部分:

static class MyWebView extends WebView
{
public MyWebView(Context context)
{
super(context);

this.getSettings().setJavaScriptEnabled(true);

//enable support for DOM Storage and Database
this.getSettings().setDatabaseEnabled(true);
this.getSettings().setDomStorageEnabled(true);


String databasePath = context.getDir("database", Context.MODE_PRIVATE).getPath();

this.getSettings().setDatabasePath(databasePath);


this.setVerticalScrollbarOverlay(true);
} }

这是 JavaScript 上的测试应用:

function testStorage() 
{
var storage = window.localStorage;
if (storage) {
try {
storage.setItem("name", "Hello World!"); //saves to the database, “key”, “value”
} catch (e) {

alert(e.message); //data wasn’t successfully saved due to quota exceed so throw an error
}
document.write(storage.getItem("name")); //Hello World!
storage.removeItem('name');
}
else {
alert('Your browser does not support HTML5 localStorage. Because Storage is' + storage);
}
}

但问题是 localStorage 始终为 null,我检查了权限并使用

创建了一个 WebChromeClient
@Override
public void onExceededDatabaseQuota(String url,
String databaseIdentifier,
long currentQuota,
long estimatedSize,
long totalUsedQuota,
WebStorage.QuotaUpdater quotaUpdater)
{
quotaUpdater.updateQuota(estimatedSize * 2);
}

永远不会被调用。谁知道为什么?

谢谢

最佳答案

您是否尝试过按照这个答案启用设置:https://stackoverflow.com/a/5934650/85472

关于javascript - 使用 webview 时,HTML localStorage 在 Android 上为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com