代码之家  ›  专栏  ›  技术社区  ›  jameshfisher

为什么maximized Chrome将其显示模式报告为“全屏”?

  •  0
  • jameshfisher  · 技术社区  · 3 年前

    在我的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。”

    问题:

    1. 这是Chrome中的一个bug吗?是否应始终报告模式 浏览器 ?
    2. 有没有一种不太老套的方法可以测试我打开新窗口的能力?
    0 回复  |  直到 3 年前