Flutter在webview中session存储中设置多个数据项
Flutter set multiple data items in session storage in webview
我需要帮助在 flutter webview 的会话存储中设置多个项目。
我正在使用这个包 - webview_flutter: ^3.0.1
=> here
我想打开一个 URL,使用户能够对网站上已有的功能采取进一步的操作。该网站的代码是以一种从会话存储访问数据的方式编写的 -> 比如授权令牌和用户 ID 等等。如果我无法在会话存储中提供此数据,那么网站将重定向到登录。
我试过这样做 ->
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
webViewController.runJavascript(
'sessionStorage.setItem("userCode", "000"); sessionStorage.setItem("role", "40");');
},
我想出了一个办法,但是没有使用官方的flutter webview插件
我用过这个插件 - flutter_inappwebview
我能够同时设置本地存储和会话存储 ->
onLoadStart:
(InAppWebViewController controller, Uri? url) async {
await controller.evaluateJavascript(source: """
window.localStorage.setItem("userCode", "${userDetails.userId}");
""");
await controller.evaluateJavascript(source: """
sessionStorage.setItem("userCode", "${userDetails.userId}");
sessionStorage.setItem("Role", "${userDetails.role}");
""");
},
我需要帮助在 flutter webview 的会话存储中设置多个项目。
我正在使用这个包 - webview_flutter: ^3.0.1
=> here
我想打开一个 URL,使用户能够对网站上已有的功能采取进一步的操作。该网站的代码是以一种从会话存储访问数据的方式编写的 -> 比如授权令牌和用户 ID 等等。如果我无法在会话存储中提供此数据,那么网站将重定向到登录。
我试过这样做 ->
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
webViewController.runJavascript(
'sessionStorage.setItem("userCode", "000"); sessionStorage.setItem("role", "40");');
},
我想出了一个办法,但是没有使用官方的flutter webview插件
我用过这个插件 - flutter_inappwebview
我能够同时设置本地存储和会话存储 ->
onLoadStart:
(InAppWebViewController controller, Uri? url) async {
await controller.evaluateJavascript(source: """
window.localStorage.setItem("userCode", "${userDetails.userId}");
""");
await controller.evaluateJavascript(source: """
sessionStorage.setItem("userCode", "${userDetails.userId}");
sessionStorage.setItem("Role", "${userDetails.role}");
""");
},