如何在浏览器 JavaScript 中检测 OS X 是不是处于暗模式? [复制]

     2023-03-06     94

关键词:

【中文标题】如何在浏览器 JavaScript 中检测 OS X 是不是处于暗模式? [复制]【英文标题】:How to detect if OS X is in dark mode in browser JavaScript? [duplicate]如何在浏览器 JavaScript 中检测 OS X 是否处于暗模式? [复制] 【发布时间】:2019-09-05 09:26:09 【问题描述】:

类似于“How to detect if OS X is in dark mode in browsers?”,仅适用于 JavaScript。

如何在 Safari/Chrome/Firefox 中检测用户的系统是否处于新的 macOS 暗模式,并将结果作为布尔值获取?

【问题讨论】:

【参考方案1】:

使用matchMedia 函数检查是否符合prefers-color-scheme 媒体规则:

const isDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
// or
const isLight = window.matchMedia('(prefers-color-scheme: light)').matches;

您还可以在开启/关闭深色模式时收到通知:

const media = window.matchMedia('(prefers-color-scheme: dark)');

media.addListener(() => 
  alert(`The mode has changed to $media.matches ? 'dark' : 'light'`);
);

【讨论】:

如何在javascript中检测浏览器选项卡是不是关闭或浏览器窗口

】如何在javascript中检测浏览器选项卡是不是关闭或浏览器窗口【英文标题】:Howtodetectwhetherbrowsertabclosedorbrowserwindowinjavascript如何在javascript中检测浏览器选项卡是否关闭或浏览器窗口【发布时间】:2017-12-1703:36:06【问题描述】:... 查看详情

在javascript中如何检测客户端的浏览器和操作系统类型

 答案:varresolution="分辨率:"+window.screen.width+"*"+window.screen.height;,varua=window.navigator.userAgent 查看详情

如何在javascript中检测safari10浏览器?

我在用varisSafari=/constructor/i.test(window.HTMLElement)但它不适用于新的Safari10。关于使用什么的任何建议?谢谢!编辑:HowtodetectSafari,Chrome,IE,FirefoxandOperabrowser?仅涵盖最高版本9的Safari答案varisSafari=/constructor/i.test(window.HTML 查看详情

如何使用javascript检测浏览器中的手机事件?

】如何使用javascript检测浏览器中的手机事件?【英文标题】:Howtodetectmobilephoneeventinbrowserusingjavascript?【发布时间】:2016-07-0507:19:34【问题描述】:现在我有一个设计用于在移动设备、Android和IOS上运行的HTML5网络应用程序。我正... 查看详情

如何以编程方式检测是不是在 Windows 桌面应用程序中启用/禁用了 javascript? (网络浏览器控件)

...编程方式检测是不是在Windows桌面应用程序中启用/禁用了javascript?(网络浏览器控件)【英文标题】:Howcanyouprogrammaticallydetectifjavascriptisenabled/disabledinaWindowsDesktopApplication?(WebBrowserControl)如何以编程方式检测是否在Windows桌面应用... 查看详情

如何检测 WebBrowser 控件中的 Javascript 执行

】如何检测WebBrowser控件中的Javascript执行【英文标题】:HowtodetectJavascriptexecutioninWebBrowsercontrol【发布时间】:2012-03-2223:42:34【问题描述】:我的C#应用程序中有一个WebBrowser控件。网络浏览器在用户的控制之下,即他可以在网络上... 查看详情

如何在 Asp.net 中使用 javascript 检测 IE 11

】如何在Asp.net中使用javascript检测IE11【英文标题】:HowtodetectIE11withjavascriptinAsp.net【发布时间】:2013-09-2304:26:24【问题描述】:您好,我想检测浏览器,IE8或更高版本适合我。为此,我使用了以下代码,但IE11失败。对于其他正确... 查看详情

如何在 PhantomJS 中使用 JavaScript 检测网页上的声音?

】如何在PhantomJS中使用JavaScript检测网页上的声音?【英文标题】:HowcandetectsoundonwebpagewithJavaScriptinPhantomJS?【发布时间】:2015-10-2005:52:07【问题描述】:我需要检测带有横幅的网页中的所有声音。我怎么能做到这一点?我查看Phan... 查看详情

在Javascript中检测浏览器刷新

】在Javascript中检测浏览器刷新【英文标题】:DetectBrowserRefreshinJavascript【发布时间】:2011-03-1522:24:57【问题描述】:我很好奇是否有一种方法可以专门检测javascript中的浏览器刷新事件。我们正在使用jQuery.address插件为AJAX函数提... 查看详情

如何在 CSS 中检测 IE 和 Edge 浏览器?

...否有标准的方法来检测css中的IE和Edge浏览器?我看到了在javascript文件中检测的响应,但我正在css中寻找一个【问题讨论】:***.com/questions/32201586/…的可能重复【参考方案1】:对于IE9及更低版本,加载条件 查看详情

如何检查客户端 JavaScript 中的端口可用性?

】如何检查客户端JavaScript中的端口可用性?【英文标题】:Howtocheckportavailabilityinclient-sideJavaScript?【发布时间】:2012-04-1017:05:00【问题描述】:如果端口被防火墙或路由器禁用,是否可以在JavaScript(在浏览器中)检测?【问题... 查看详情

在 Javascript 中进行浏览器检测的最佳方法是啥?

】在Javascript中进行浏览器检测的最佳方法是啥?【英文标题】:WhatistheBestwaytodoBrowserDetectioninJavascript?在Javascript中进行浏览器检测的最佳方法是什么?【发布时间】:2010-10-0923:46:42【问题描述】:在我的一个Web开发课程中,我们... 查看详情

在javascript中检测浏览器字符支持?

】在javascript中检测浏览器字符支持?【英文标题】:Detectbrowsercharactersupportinjavascript?【发布时间】:2011-06-0520:39:51【问题描述】:我正在开发一个与音乐相关的网站,并且经常使用HTML特殊字符来表示升号(♯)和降号(♭)以保持内... 查看详情

使用 JavaScript 在浏览器中检测 Android 手机的旋转

】使用JavaScript在浏览器中检测Android手机的旋转【英文标题】:DetectrotationofAndroidphoneinthebrowserwithJavaScript【发布时间】:2010-12-1113:39:06【问题描述】:我知道在iPhone上的Safari中,您可以通过侦听onorientationchange事件并查询window.orien... 查看详情

如何在浏览器中检测对 VML 或 SVG 的支持

...布时间】:2010-10-1320:06:19【问题描述】:我正在编写一些javascript,需要在SVG或VML之间进行选择(或两者兼而有之,或其他东西,这是一个奇怪的世界)。虽然我知道目前只有IE支持VML,但我更愿意检测功能而不是平台。SVG似乎有... 查看详情

如何使用 javascript 检测浏览器名称和版本? [复制]

】如何使用javascript检测浏览器名称和版本?[复制]【英文标题】:Howtodetectbrowsernameandversionusingjavascript?[duplicate]【发布时间】:2014-05-1622:23:59【问题描述】:我想在加载页面时检测浏览器版本。即如果用户使用的是InternetExplorer8... 查看详情

如何在javascript中获取时区名称?

...是能够检测“美国/纽约”之类的东西。这甚至可能来自JavaScript还是我将不得不根据偏移量进行猜测?答案InternationalizationAPI支持获取用户时区,并且在所有当前浏览器中都是supported。 console.log(Intl.DateTimeFormat().resolvedOptions... 查看详情

如何检测 HTML5 或 Javascript 中的浏览器类型以在 Safari/IE 浏览器中播放 mp3 而不是 webm?

】如何检测HTML5或Javascript中的浏览器类型以在Safari/IE浏览器中播放mp3而不是webm?【英文标题】:HowtodetectbrowsertypeinHTML5orJavascriptforplayingmp3insteadofwebminSafari/IEbrowsers?【发布时间】:2014-06-2501:39:30【问题描述】:我在Qualtrics中创建... 查看详情