有没有办法让网页检测Microsoft Edge中的主题何时发生变化(亮/暗)?
例如,如果应用程序以高对比度运行,我可以使用-ms-hight-contrast来应用不同的CSS。对于Edge Light / Dark主题,是否有类似的媒体功能?
要获取应用的主题,通常我们可以使用Theme.getCurrent()方法。
var getting = browser.theme.getCurrent(windowId) // integer
但目前,MS Edge不支持它。
参考:
作为替代方式。使用Javascript代码,您可以尝试访问注册表项值以了解当前应用的主题。
您需要访问以下密钥的值。
HKEY_CURRENT_USER\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\Main
主题DWORD
0 =浅色主题
1 =黑暗主题
要获取JavaScript示例以访问注册表项,您可以参考下面的链接。
参考:
JScript/Javascript function to get a list of registry Values under Key
注意: - 很多时候此文件夹在注册表中不可用。用户需要先创建它。在那种情况下,此方法将无法正常工作。
问候
迪帕克