moa*_*bly 7 popup flutter flutter-web
我想向用户表明,当他们尝试关闭我的 flutter web 应用程序中的选项卡时,正在下载一个文件。有没有办法连接到应用程序来检测这种行为并显示这样的警告消息?
小智 6
您可以为BeforeUnloadEvent注册代码,如下所示:
import 'dart:html' as html;
/// Subscription on application termination warning
StreamSubscription? _onBeforeUnloadSubscription;
//enable warning for closing browser tab:
_onBeforeUnloadSubscription = registerOnBeforeUnload("Transfers in progress!");
//disable warning for closing browser tab:
stopBeforeUnloadHandler();
StreamSubscription? registerOnBeforeUnload(String warningMessage) {
StreamSubscription<html.BeforeUnloadEvent> _onBeforeUnloadSubscription;
_onBeforeUnloadSubscription = html.window.onBeforeUnload.listen((e) async {
(e as html.BeforeUnloadEvent).returnValue = warningMessage;
return Future.value(warningMessage);
}) as StreamSubscription<html.BeforeUnloadEvent>;
return _onBeforeUnloadSubscription;
}
void stopBeforeUnloadHandler() {
if (_onBeforeUnloadSubscription != null) {
_onBeforeUnloadSubscription!.cancel();
_onBeforeUnloadSubscription = null;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1515 次 |
| 最近记录: |