在我的web应用程序中,我需要知道是否可以打开新窗口(例如
target='_blank'
). 在浏览器中运行时,我可以安全地打开一个新窗口,但在作为PWA运行时(在
standalone
模式)。
为了测试是否可以打开新窗口,我使用
the
display-mode
media query
,如下所示:
document.body.innerText = 'Your display-mode is ' +JSON.stringify(
['fullscreen', 'standalone', 'minimal-ui', 'browser'].filter(
mode => window.matchMedia(`(display-mode: ${mode})`).matches))
这适用于Firefox和Safari,它们都报告该模式
browser
. 但Chrome在窗口最大化时会报告模式
fullscreen
! 这没有意义,因为
全屏显示
是“使用了所有可用的显示区域,并且没有显示用户代理chrome。”
问题:
-
这是Chrome中的一个bug吗?是否应始终报告模式
浏览器
?
-
有没有一种不太老套的方法可以测试我打开新窗口的能力?