我的flutter Web遇到了一个问题。使用新的Web构建版本上传或部署后,我无法获得新版本的Service Worker。只有在清除Web缓存时才能获得新版本,即使刷新Web也不会获得较新的版本,但有时会加载较新的版本,有时刷新Web也不会反映新的Service Worker。
解决方案尝试解决此问题。
1.已尝试在pubspec中更改应用程序的版本。
1.已尝试无缓存 meta标记。
1.已尝试在index.html中处理缓存删除。
window.addEventListener('load', function(ev) {
// Download main.dart.js
_flutter.loader.loadEntrypoint({
entrypointUrl: "/main.dart.js",
serviceWorker: {
serviceWorkerVersion: serviceWorkerVersion,
serviceWorkerUrl: "/flutter_service_worker.js?v=",
}
}).then(function(engineInitializer) {
return engineInitializer.initializeEngine();
}).then(function(appRunner) {
return appRunner.runApp();
});
});
</script>
我知道自从flutter发布web支持以来这个问题一直存在。我已经面对这个问题很久了。所以有人找到了一个最小的解决方案来解决这个问题,或者我们如何强制刷新窗口并删除该高速缓存?
正如我们所知,PWA是自动更新时发现的新版本。是完美的工作与Flutter网页,但不是网页时,我们打开它在浏览器窗口。
1条答案
按热度按时间ubby3x7f1#
转到web/index.html并更改main.dart版本: