iOS Progressive Web App 暗模式启动图像?

Posted

技术标签:

【中文标题】iOS Progressive Web App 暗模式启动图像?【英文标题】:iOS Progressive Web App Dark Mode Startup Image? 【发布时间】:2019-07-28 22:18:31 【问题描述】:

我正在尝试为我的 ios PWA 的 apple-touch-startup-image(启动画面)创建一个深色模式选项,如果开启深色模式,那么它将替换 apple-touch- 的所有链接为我的用户将启动图像设置为暗模式。

我已经考虑过了,因为深色模式适用于 css:

@media(prefers-color-scheme: dark) ... 

那么它可以很容易地替换它们。

我创建了这个 javascript,但它似乎不起作用:

var darksplash = window.matchMedia( "(prefers-color-scheme: dark)" );
if (darksplash.matches) document.querySelector('link[rel="apple-touch-startup-image"]').setAttribute("href", "assets/images/splashscreens/dark.png");

有什么想法吗?我在想这可能是 javascript 代码中的错误,我不是最擅长 JavaScript。

【问题讨论】:

您的代码看起来像什么不起作用?请提供一个 Minimal, Complete, and Verifiable example 来证明该问题。 【参考方案1】:

您只需要在每个图像下添加另一个 apple-touch-startup-image,在 media="" 开头添加 "(prefers-color-scheme: dark) 和 "

发现于: https://github.com/onderceylan/pwa-asset-generator/issues/51

【讨论】:

【参考方案2】:

我对 css 或 javascript 不太了解,但如果我注入的代码不起作用,我会尝试在 web 控制台中运行 JavaScript 代码。

    在 chorme 中打开您的网站,右键单击并单击 Inspect 框顶部有一个选项,选择控制台。 运行您的 JavaScript 代码。

如果可行,则可能是您注入 JavaScript 代码的时机不合适,或者您的 JavaScript 代码出错。

【讨论】:

以上是关于iOS Progressive Web App 暗模式启动图像?的主要内容,如果未能解决你的问题,请参考以下文章

Material UI:底部导航与 iOS 上的 Progressive Web App (PWA) Safari 对齐

Progressive Web App

你的首个 Progressive Web App

Progressive Web App(PWA)介绍

离线时在 Progressive Web App 中处理获取请求

PWA(Progressive Web App)入门系列:PWA简介