网页是否可以检测Microsoft Edge中的主题何时更改(浅/深)?
例如,如果应用程序以高对比度运行,则可以使用-ms-hight-contrast来应用不同的CSS。对于Edge Light / Dark主题,是否有类似的媒体功能?
答案 0 :(得分:1)
要获取应用的主题,通常可以使用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
注意:-很多时候此文件夹在注册表中不可用。用户需要先创建它。在这种情况下,此方法将无效。
致谢
Deepak