【问题标题】:How to detect if flutter website is running in the background of browser?如何检测flutter网站是否在浏览器后台运行?
【发布时间】:2021-02-09 11:41:06
【问题描述】:

WidgetsBindingObserver 不适用于我的 Flutter Web 项目。是否有类似的东西可以检测用户何时关闭浏览器,例如使用小部件绑定关闭本机设备应用程序?

我想在每次重建浏览器后重建整个网站,无论该网站之前是否保持打开状态。

【问题讨论】:

  • 你最终找到了这个问题的答案吗?

标签: flutter dart flutter-web


【解决方案1】:

挂钩到浏览器的可见性更改 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 2011-11-12
    • 2013-12-28
    相关资源
    最近更新 更多