众所周知,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 更健壮一些。
谢谢,
最佳答案
像这样的东西:(当然,对于 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>
关于Javascript 特征检测 CMYK 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13618675/