众所周知,ie8不支持cmyk jpg图像,它根本不渲染它们:-(
这是一篇关于它的帖子 http://www.plaveb.com/blog/cmyk-images-not-displayed-in-internet-explorer,还有无数其他帖子。
我的问题:有没有一种方法可以从javascript进行功能检测,类似于modernizr的工作方式,以检查浏览器是否支持cmyk jpg图像?
我可以在我的 javascript 中加入一个 hack 来改变 ie8 使用 rgb jpg 的行为,但我希望黑客更健壮一些。
谢谢
像这样: (使用jQuery当然有HTML指令)
if ($.browser.msie && parseInt($.browser.version, 10) <= 8) {
alert('IE8 or below');
} else {
alert('Non IE8');
}
和 HTML ->
<!--[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>