阻止刷新按钮或点击刷新时的提示消息(flutter web)

vqlkdk9b  于 2022-12-30  发布在  Flutter
关注(0)|答案(2)|浏览(136)

我知道对于后退按钮我们可以使用willpopscope,但是现在我正在尝试阻止用户刷新页面,有没有办法禁用刷新按钮或者在用户点击刷新按钮时提示一条消息?
willpopscope的示例

return WillPopScope (
onWillPop: () async {
  return shouldPop;
},
child: const Text('WillPopScope sample'),
);
72qzrwbm

72qzrwbm1#

将其添加到lib/web/index.html将显示一个确认对话框:

...
<body>
<script type="text/javascript">
  window.onbeforeunload = function() {
      return "Changes that you made may not be saved.";
  }
</script>
...
</body>
...

就像这样:

ie3xauqp

ie3xauqp2#

一个更优雅的网络解决方案是:

import 'dart:html' as html;
    html.window.onBeforeUnload.listen((event) async {
      if (event is html.BeforeUnloadEvent) event.returnValue = "Don't go!";
    });

就像这样,只有你想要警告的页面才会触发这个事件,否则所有的窗口都会触发这个事件。

相关问题