Javascript 特征检测 CMYK 图像

标签 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 更健壮一些。

谢谢,

最佳答案

像这样的东西:(当然,对于 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/

相关文章:

opencv - 特征跟踪在低分辨率图像上无法正常工作

javascript - .on ("drag", function()) 和 .on ("contextmenu", function()) 在同一代码上使用时不起作用

javascript - 我如何在没有 www 的情况下匹配域名的根目录。使用正则表达式

javascript - 尝试选择 ul 的所选 li 元素的前一个 li 元素

javascript - 一起使用两种 fancybox 方法

jquery - Webshims、IE8 和地理定位

image - 低分辨率图像的特征检测器和描述符

javascript - 在 Internet Explorer 8 中创建 HTML 模态窗口

css - 当子菜单处于事件状态时,IE8 列表项悬停会影响其他列表项

java - 使用opencv java检测图像中文档的边界