Javascript功能检测CMYK图像

时间:2012-11-29 04:08:45

标签: javascript internet-explorer-8 feature-detection cmyk

众所周知,ie8不支持cmyk jpg图像,它根本不呈现它们: - (

这里有一篇关于它的帖子http://www.plaveb.com/blog/cmyk-images-not-displayed-in-internet-explorer,还有无数其他帖子。

我的问题: 有没有一种方法来从javascript中检测功能,类似于modernizr的工作原理,检查浏览器是否支持cmyk jpg图像?

我可以在我的javascript中使用hack来改变ie8使用rgb jpg的行为,但我希望hack更强大一点。

谢谢,

1 个答案:

答案 0 :(得分:1)

这样的事情:(当然jQuery是HTML指令)

if ($.browser.msie  && parseInt($.browser.version, 10) <= 8) {
  alert('IE8 or below'); 
} else {
  alert('Non IE8');
}

和HTML - &gt;

<!--[if IE 8]>
<script type="text/javascript">
    ie = 8;
</script>
<![endif]-->

好的,这里有一些Javascript,这适用于RGBA,所以它应该用CMYK,你可以测试:

<html>
<head>
    <script>
    var IS_CMYK_SUPPORTED = (function(){
        var value = 'cmyk(1%,1%,1%,0.5%)',
        el = document.createElement('p'),
        result = false;
        try {
            el.style.color = value;
            result = /^cmyk/.test(el.style.color);
        } catch(e) { }
        el = null;
        return result;
    })();
    </script>
</head>
<body onLoad='alert("IS CMYK Supported:" + IS_CMYK_SUPPORTED)'>
</body>
</html>