微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Android中运行打字稿的webView中为本地存储/会话存储设置值?

如何解决如何在Android中运行打字稿的webView中为本地存储/会话存储设置值?

我正在尝试为在打字稿上运行的 webview 设置 localStorage / sessionStorage 中的值。

步骤 1-> 我已经为 webview 设置了以下属性

    webView.settings.javaScriptEnabled = true
    webView.settings.domStorageEnabled = true
    webView.settings.databaseEnabled = true
    webView.settings.allowFileAccess = true
    webView.settings.allowContentAccess = true

步骤 2-> 我在以下脚本的帮助下设置存储值

val mimeType = "text/html"
val encoding = "utf-8"

val injection = "<script type='text/javascript'>" +
  "sessionStorage.setItem('" + key + "','" + val1 + "');" +
  "sessionStorage.setItem('" + key2 + "','" + val2 + "');" +
  "sessionStorage.setItem('" + key3 + "','" + val3 + "');" +
  "sessionStorage.setItem('" + key4 + "','" + val4 + "');" +
  "localStorage.setItem('" + key5 + "','" + val5 + "');" +
  "localStorage.setItem('" + key6 + "','" + val6 + "');" +
  "console.log(sessionStorage.getItem('ACCESS_TOKEN'))" +
  "window.location.replace('**webview_url**');" +
  "</script>"



webView.loadDataWithBaseURL(
  "**webview_url**",injection,mimeType,encoding,""
)

我可以使用以下代码访问存储中保存的值。因此,值似乎保存在存储中。

"console.log(sessionStorage.getItem('ACCESS_TOKEN'))"

但是一旦加载了 webview,它就会加载空白的 webview。 另外,我已经提供了以下权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

并设置 android:usesCleartextTraffic="true"

对这个问题有什么建议吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。