根据客户端的主题色切换网站的 favicon
要根据客户端的主题模式切换网站的图标,你可以使用媒体查询(Media Query)来检测客户端是否启用了暗色主题。然后,你可以在不同的主题模式下加载相应的图标。以下是一个简单的例子:
1. 准备两个图标:
- 一个用于亮色主题的图标(例如,light-icon.png)
- 一个用于暗色主题的图标(例如,dark-icon.png)
2. 在HTML文件中引入图标:
<link rel="icon" type="image/png" href="light-icon.png" id="favicon">
3. 使用 JavaScript 检测主题模式并更新图标:
<script>
// 检测暗色主题
if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
// 如果是暗色主题,切换到暗色图标
document.getElementById('favicon').href = 'dark-icon.png';
}
</script>
这段JavaScript代码使用matchMedia来检测浏览器是否启用了暗色主题,并根据结果切换图标。请确保将这段代码放在
标签中。请注意,不是所有浏览器都支持prefers-color-scheme媒体查询,因此在一些较旧的浏览器中可能无法正常工作。此外,你可能还需要考虑到用户可能手动选择的主题偏好。