Flutter-web Webview 使用多个LocalStorage管理

Flutter-web Webview use multiple LocalStorage management

你好,我在我的 Webapp 中使用 Webviews 时遇到了问题 案例使用: 仪表板,它正在加载多个 Webview,其中每个 Webview 和每个本地存储都与主本地存储合并。

第一个问题: 我不得不使用 easywebview 包来解决 chrome 上 webview 的加载 webviews 问题,但我想使用 webview 包。

第二题: 当我使用我的 chrome 应用程序并在其中加载一个 easywebview 时,我有两个独立的本地存储 运行 我希望我可以将我所有的本地存储合并到一个仪表板中。

代码示例

import 'package:easy_web_view/easy_web_view.dart';
class LoginFrameWidget extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return Container(
        height: double.infinity,
        width: double.infinity,
        child: EasyWebView(
          src: "http://localhost:5111/",
          isHtml: false,
          isMarkdown: false,
          convertToWidgets: false,
          onLoaded: () {},
        ));
  }
}

本地存储图片: localstorages

需要的解决方案: 制作一个主要的本地存储 使用 webviews 而不是 easywebview(如果可能的话)

经过一番研究,我得出了不同的解决方案:

 //setup iframe
_iframeElement.height = '500';
_iframeElement.width = '500';
//listen to iframe (window.post.message)
window.onMessage.listen((event) {
  print(event.data);
  //some localstorage logic
});
_iframeElement.src = 'path';
_iframeElement.style.border = 'none';

// ignore: undefined_prefixed_name
ui.platformViewRegistry.registerViewFactory(
  'iframeElement',
  (int viewId) => _iframeElement,
);

_iframeWidget = HtmlElementView(
  key: UniqueKey(),
  viewType: 'iframeElement',
);

而且我刚刚通过查询收集的数据
如果有更好的解决方案,我会听取。