【问题标题】:Text visibility depending on screen brightness文本可见性取决于屏幕亮度
【发布时间】:2021-04-18 05:19:38
【问题描述】:

奇怪的问题:有什么方法可以让文本的可见性根据屏幕亮度做出反应?它必须对初学者相当友好。

【问题讨论】:

  • 不确定您要查找的内容,您是否尝试根据背景亮度调整文本颜色?
  • 我不认为屏幕亮度在任何浏览器的范围内。即使您在“NITS”中调整并看到屏幕上显示的数字数据,它也是一个集成到显示器中的程序......除了同步之外,完全不确定显示器是否会将设置数据发送到 PC。
  • 我不确定文本的可见性,但检测屏幕亮度可以通过正文或主页的lhsl 来确定颜色的亮度。

标签: javascript html css


【解决方案1】:

有趣的想法,但是。遗憾的是,出于安全原因,JavaScript 不允许获取此类用户数据。

您可以在以下 StackOverflow 帖子中了解有关原因的更多信息。

  1. how to use javascript to measure how bright a users monitor is (by user 'HankV')
  2. automatically detect how bright a users monitor is (by user 'JasonS')

话虽如此。 (并且......不幸的是,我怀疑让它工作会像你要求的那样对初学者友好。但如果你有的话,我会在这里留下我的答案以后想试试。)

可能有一种方法可以让它工作。如果你真的让它工作。仅用于学习目的。

我遇到的一种方法是曾经有一种方法可以让用户的屏幕背光灯有多亮。

screenBrightness = window.screen.mozBrightness;

“它表示屏幕背光的亮度,范围从 0(非常暗)到 1(全亮);这个值是一个双精度浮点数。”

您可以在此处找到有关它的更多信息。 on MDN docs

一个小的免责声明:此功能已弃用。并且不推荐使用。大多数现代浏览器可能不支持它。 (尝试在 Firefox 上测试)

this article,我发现, “为了使用screen.mozBrightness,您必须在about:config 中将首选项dom.screenBrightnessProperty.enabled 设置为true。”

如果你能得到这样的设备亮度。您可以使用该数据来更改文本可见性。

添加到这个。您可以在未来的项目中使用许多其他 JavaScript Screen API 属性。 screen.colorDepth例如。你可以找到他们的名单here

【讨论】:

  • 谢谢,但大部分东西实施起来都很复杂
猜你喜欢
  • 1970-01-01
  • 2017-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-12
相关资源
最近更新 更多