如何判断智能反转是否已启用JavaScript?

时间:2017-11-10 17:06:37

标签: javascript css

是否可以使用JavaScript或CSS查看iOS 11的Smart Invert是否已启用?我希望我的网站能够使用它,看到我(可能还有很多其他人)经常使用它。

1 个答案:

答案 0 :(得分:0)

根据上面评论中发布的the answer并使用Modernizr.js,您可以使用custom test轻松完成此操作。

Modernizr.addTest('colorinvert', accessibilityIgnoresInvertColors in window && !accessibilityIgnoresInvertColors);

如果颜色被反转,这将为页面的<html>元素colorinvert添加一个类,如果没有,则为nocolorinvert

这样可以在颜色反转时轻松应用自定义css或javascript逻辑。

Vanilla js可以分析这个属性,并且也可以像modernizr一样运行 - 在初始页面加载期间运行的东西应该可以工作:

var classname = "colorinvert";
if(typeof(window["accessibilityIgnoresInvertColors"]) === "undefined" || accessibilityIgnoresInvertColors) classname = "no" + classname;

document.getElementsByTagName("html")[0].classList.add(classname);