如何检测flutter网站是不是在浏览器后台运行?
Posted
技术标签:
【中文标题】如何检测flutter网站是不是在浏览器后台运行?【英文标题】:How to detect if flutter website is running in the background of browser?如何检测flutter网站是否在浏览器后台运行? 【发布时间】:2021-02-09 11:41:06 【问题描述】:WidgetsBindingObserver 不适用于我的 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
【讨论】:
以上是关于如何检测flutter网站是不是在浏览器后台运行?的主要内容,如果未能解决你的问题,请参考以下文章
如何检测我的 Flutter 应用程序是不是在 Web 中运行?