twitter 网站是怎么根据 windows10 的“颜色”来改变网页背景颜色?

2019 年 9 月 28 日
 zhaoy

今天打开这个网站的时候发现是黑色,然后找到了 windows10 设置 颜色 选择颜色 调整成浅色,马上页面就改变了背景色,观察了 body 标签的行内样式的变化,是如何做监听的?

9373 次点击
所在节点    JavaScript
15 条回复
geelaw
2019 年 9 月 28 日
Chrome 把 Windows 的亮暗主题色 translate 成了 CSS media query。
FrankAdler
2019 年 9 月 28 日
同好奇
Tink
2019 年 9 月 28 日
这个厉害啊
agagega
2019 年 9 月 28 日
有一个媒体查询是关于系统主题的
airyland
2019 年 9 月 28 日
按照规范是使用 media query prefers-color-scheme 来实现的,而这个特性是可以可以 js 来查询的。可以看到 js 文件 https://abs.twimg.com/responsive-web/web/main.0c780a54d263df4b4.js 里的代码:

window.matchMedia("(prefers-color-scheme: dark)")
anguiao
2019 年 9 月 28 日
ccnccy
2019 年 9 月 28 日
项目经理要求根据手机壳变色才牛逼。
agdhole
2019 年 9 月 28 日
这代码用心了
mmnsghgn
2019 年 9 月 28 日
@ccnccy 坚果手机实现了,不过要靠手机壳的触点
javaluo
2019 年 9 月 28 日
@zhengjian 诺基亚 n72 就实现了
dumbass
2019 年 9 月 28 日
这个特性很叼,ios Safari13 上也支持
iPhoneXI
2019 年 9 月 28 日
android chrome 也支持,可以随着 one ui 自动夜间模式变换颜色
lizhuoli
2019 年 9 月 28 日
这个 Dark Mode,已经是 W3C 规范了,不实各自玩自己的……
whusnoopy
2019 年 9 月 29 日
标题略不严谨,这个只是操作系统层面的「暗黑模式」,同楼上各位阐述的,浏览器已经能把这个模式配置信息传递到页面上让获取了

我进来前以为是 Windows 10 的主题色能被 Twitter 获取,这个的话不确定 Windows 有没有提供特别的接口透出
wysnylc
2019 年 9 月 29 日
至少还是软件层面的,不是根据人的眼神来变化

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/605065

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX