Flutter Flatter web Webview使用多个本地存储管理

Flutter Flatter web Webview使用多个本地存储管理,flutter,webview,local-storage,flutter-web,Flutter,Webview,Local Storage,Flutter Web,您好,在我的Webapp中使用webview时确实有问题 案例使用: 仪表板,它正在加载多个Web视图,其中每个带有本地存储的Web视图都与本地主存储合并 第一个问题: 我不得不使用easywebview包来解决在chrome上加载webview的问题,但我想使用webview包 第二个问题: 当我使用带有easywebview加载的chrome应用程序时,我有两个本地存储独立运行,我希望我可以将所有本地存储合并到仪表板中 代码示例 本地存储的映像: 需要的解决方案: 创建一个主本地存储 使用

您好,在我的Webapp中使用webview时确实有问题 案例使用: 仪表板,它正在加载多个Web视图,其中每个带有本地存储的Web视图都与本地主存储合并

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

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

代码示例

本地存储的映像:

需要的解决方案: 创建一个主本地存储
使用WebView而不是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',
);
然后我将收集到的数据传递给了查询

如果有更好的解决方案,我会听听。

经过一些研究,我最终得到了不同的解决方案:

 //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',
);
然后我将收集到的数据传递给了查询
如果有更好的解决办法,我会听的