V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
zhaoy
V2EX  ›  JavaScript

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

  •  
  •   zhaoy · 2019-09-28 12:05:43 +08:00 · 8466 次点击
    这是一个创建于 1912 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    浅色

    深色

    15 条回复    2019-09-29 12:20:54 +08:00
    geelaw
        1
    geelaw  
       2019-09-28 12:08:54 +08:00
    Chrome 把 Windows 的亮暗主题色 translate 成了 CSS media query。
    FrankAdler
        2
    FrankAdler  
       2019-09-28 12:08:55 +08:00 via iPhone
    同好奇
    Tink
        3
    Tink  
       2019-09-28 12:26:57 +08:00 via iPhone
    这个厉害啊
    agagega
        4
    agagega  
       2019-09-28 12:30:12 +08:00 via iPhone
    有一个媒体查询是关于系统主题的
    airyland
        5
    airyland  
       2019-09-28 12:31:02 +08:00   ❤️ 2
    按照规范是使用 media query prefers-color-scheme 来实现的,而这个特性是可以可以 js 来查询的。可以看到 js 文件 https://abs.twimg.com/responsive-web/web/main.0c780a54d263df4b4.js 里的代码:

    window.matchMedia("(prefers-color-scheme: dark)")
    ccnccy
        7
    ccnccy  
       2019-09-28 12:57:11 +08:00 via iPhone   ❤️ 1
    项目经理要求根据手机壳变色才牛逼。
    agdhole
        8
    agdhole  
       2019-09-28 13:22:15 +08:00 via Android
    这代码用心了
    zhengjian
        9
    zhengjian  
       2019-09-28 14:56:07 +08:00
    @ccnccy 坚果手机实现了,不过要靠手机壳的触点
    javaluo
        10
    javaluo  
       2019-09-28 14:58:58 +08:00 via Android
    @zhengjian 诺基亚 n72 就实现了
    bojackhorseman
        11
    bojackhorseman  
       2019-09-28 16:21:34 +08:00 via iPhone
    这个特性很叼,ios Safari13 上也支持
    iPhoneXI
        12
    iPhoneXI  
       2019-09-28 16:31:09 +08:00
    android chrome 也支持,可以随着 one ui 自动夜间模式变换颜色
    lizhuoli
        13
    lizhuoli  
       2019-09-28 16:33:59 +08:00 via iPhone   ❤️ 1
    这个 Dark Mode,已经是 W3C 规范了,不实各自玩自己的……
    whusnoopy
        14
    whusnoopy  
       2019-09-29 09:41:07 +08:00
    标题略不严谨,这个只是操作系统层面的「暗黑模式」,同楼上各位阐述的,浏览器已经能把这个模式配置信息传递到页面上让获取了

    我进来前以为是 Windows 10 的主题色能被 Twitter 获取,这个的话不确定 Windows 有没有提供特别的接口透出
    wysnylc
        15
    wysnylc  
       2019-09-29 12:20:54 +08:00
    至少还是软件层面的,不是根据人的眼神来变化
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2704 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:35 · PVG 15:35 · LAX 23:35 · JFK 02:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.