使用css在奇怪模式下运行IE11中的灰度图像

问题描述:

我需要将内部遗留Web应用程序上的一些彩色图像转换为灰度。我想最简单的方法是使用CSS过滤器。由于组策略,此应用程序的用户通过IE11访问它。此应用程序还必须使用Quirks(IE5)文档模式运行,否则会发生疯狂的事情(呈现问题,JavaScript无法正常工作等)。使用css在奇怪模式下运行IE11中的灰度图像

我曾尝试下面的代码(以及从herehere代码,并here

img.desaturate { 
    -webkit-filter: grayscale(100%); 
    filter: gray; 
    filter: grayscale(100%); 
    filter: url(desaturate.svg#greyscale); 
} 

与没有影响。根据这个标准(IE11运行IE5文档模式),我能做些什么来获得这些灰度图像,如果是这样,如何?

注意:重新设计应用程序以使用更先进的技术目前尚未获得资助,且不会在未来。

注意:用一些脚本将每个图像转换为灰度并保存输出也不是一个选项,因为有数百万的图像可用。

链接到的例子,显示丰富多彩的谷歌徽标:https://jsfiddle.net/bq2mw5ya/2/

+0

你能也许张贴Plunker或其他代码示例?如果您的CSS没有问题,那么您的HTML可能有问题:) – Witchfinder

+0

if filter:grey;是**设置最后** IE浏览器使用IE5(怪癖模式),它工作,如果允许运行ActiveX,否则什么也没有发生测试http://codepen.io/anon/pen/MyYmEw在右下角,点击导出,选择然后在本地运行文件,使用与您的站点相同的配置 –

其实我想谈谈我的意见,作为饲料的话回复:

IE特定的过滤器应背水一战,所以它不会被下一个在此改变一。

的ActiveX,也应该允许运行

,当然还有,它应该是怪异模式...

img.desaturate { 
    -webkit-filter: grayscale(100%); 
    filter: grayscale(100%); 
    filter: url(desaturate.svg#greyscale); 
    filter: gray; 
} 
+1

看起来我需要的只是最后一行,因为这个应用程序不支持IE11 + IE5以外的任何内容。谢谢(你的)信息。 – Zymus