Flutter Flatter web Webview使用多个本地存储管理
您好,在我的Webapp中使用webview时确实有问题 案例使用: 仪表板,它正在加载多个Web视图,其中每个带有本地存储的Web视图都与本地主存储合并 第一个问题: 我不得不使用easywebview包来解决在chrome上加载webview的问题,但我想使用webview包 第二个问题: 当我使用带有easywebview加载的chrome应用程序时,我有两个本地存储独立运行,我希望我可以将所有本地存储合并到仪表板中 代码示例 本地存储的映像: 需要的解决方案: 创建一个主本地存储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应用程序时,我有两个本地存储独立运行,我希望我可以将所有本地存储合并到仪表板中 代码示例 本地存储的映像: 需要的解决方案: 创建一个主本地存储 使用
使用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',
);
然后我将收集到的数据传递给了查询如果有更好的解决办法,我会听的