我一直在电子阅读器上测试一个 HTML5 网络应用程序,我得到了它大部分工作,但颜色都搞砸了(它是单色的)。我的应用程序使用大量颜色,每秒更新一次。我也需要它在彩色显示器上运行,所以我需要检测它是否是单色的。
我使用的电子阅读器是索尼制造的,它报告16,这screen.pixelDepth
与screen.colorDepth
我支持的大多数其他设备不同(24 和 32 很常见)。
到目前为止,我的想法是:
- 始终向报告 16 位颜色的设备显示单色
- 从用户代理嗅探/
navigator.appVersion
- 画布上的样本位(尽管我认为这也可能是谎言)
假设 16 位颜色 = 单色是否安全?还是有另一个我可以忽略的更可靠的技巧?