我创建了一个flutter web应用程序,并将其用作我的java-script网站中的PWA,我使用iframe打开了它。
我想通过点击SystemChannels.platform.invokeMethod('SystemNavigator.pop')
的按钮来关闭我的PWA。
我试过这段代码,但不起作用:
GestureDetector(
onTap: () {
SystemChannels.platform.invokeMethod('SystemNavigator.pop');
},
child: Container(padding: const EdgeInsets.all(4), child: Icon(Icons.close, color: BpColors.white, size: 20)),
);
我也试过使用exit(0),但它使网站转到上一页,而不仅仅是关闭PWA。
2条答案
按热度按时间mwngjboj1#
这是不可能的关闭Web应用程序的
SystemChannels.platform.invokeMethod('SystemNavigator.pop')
,因为这只适用于移动的应用程序。无论如何,而不是它,你可以使用window.close()
关闭Web应用程序窗口。但不幸的是,它可能无法在某些浏览器,因为他们不允许从JS关闭窗口的安全原因。顺便说一下,有一个名为flutter_window_close的软件包,你可以试试。
快乐编码...
czq61nw12#
这对我很有效
close_clicked是我的JavaScript正在监听的事件名称。