iOS 状态栏颜色/界面颜色选择器

更改界面颜色选择器时,meta name="theme-color" meta 标签未更新,这有时会导致 iPhone 刘海显示错误的颜色。

重现步骤(在此处关于 meta):

  • 启用界面颜色选择器
  • 将操作系统模式设置为“浅色”
  • 将 Discourse 界面颜色选择器模式设置为“浅色”
  • 重新加载浏览器
  • meta 标签显示如下:
<meta name="theme-color" media="all" content="#ffffff">
<meta name="theme-color" media="none" content="#1a1a1a">

这可以正确地使 iPhone 刘海显示正确的颜色。

  • 将 Discourse 界面颜色选择器模式切换为“自动”
  • link class="light-scheme"dark-schememedia 属性会正确更改
  • theme-color meta 标签保持不变 ← 错误
  • 将操作系统模式更改为“深色”
  • 刘海颜色不改变 :scream:
  • 刷新浏览器
  • HTML meta 标签更改为:
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#1a1a1a">
1 个赞

这让我想起了 https://meta.discourse.org/t/dark-light-mode-toggle-delivers-mixed-results-when-os-settings-do-not-match-toggle-settings/386568。也许这是同一个 bug

不,那是另一回事,那是主题中的一个问题。我将在该主题中发布解决方案。

1 个赞

烦人的 bug,如果你像我一样有强迫症 D: