flutter - 如何检测flutter网站是否在浏览器后台运行?

标签 flutter dart flutter-web

WidgetsBindingObserver 不适用于我的 flutter web 项目。是否有类似的东西可以检测用户何时关闭浏览器,例如使用小部件绑定(bind)关闭 native 设备应用程序?
我想在每次重建浏览器后重建整个网站,无论该网站之前是否保持打开状态。

最佳答案

连接到浏览器的可见性更改 API。

import 'dart:html';

  // inside your State class

  @override
  void initState() {
    super.initState();
    document.addEventListener("visibilitychange", onVisibilityChange);
  }

  @override
  void dispose() {
    document.removeEventListener("visibilitychange", onVisibilityChange);
    super.dispose();
  }
  
  void onVisibilityChange(Event e) {
    // do something
  }

进一步阅读:https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilitychange_event

关于flutter - 如何检测flutter网站是否在浏览器后台运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64550286/

相关文章:

android-studio - 我可以让 Android Studio 生成带有命名参数的 Dart 构造函数代码并添加 key 吗?

dart - Dart 事件.returnValue = X

image - Flutter web 图像在移动 View 中加载,但不是在全 View 中?

flutter - 仅当在Flutter应用程序上运行时,才能禁用某些功能吗?

dart - dart从Map扩展产生错误,指出Map中的默认构造函数无法生成

flutter - 当用户尝试放大屏幕时 flutter web 溢出

dart - Flutter CloudFirestore添加复杂类型会抛出无效参数: Instance of 'Team'

flutter - 抖动的图像模糊导入

flutter - 2个手机抖动时的高度不同

firebase - 如何在 Flutter 中获取嵌套 firebase 数据的所有子数据?