【发布时间】:2026-02-03 13:40:01
【问题描述】:
我有这段代码可以根据星期几呈现图像。但在 IE6 及更低版本以及可能其他一些浏览器中,它不会呈现 png 不透明度。所以我想稍微改变一下,这样它就可以检测到浏览器不呈现 alpha 透明度并告诉他们加载这个图像:“img/horarios2.png”。我已经尝试过这样做,以便排除以不渲染而闻名的 IE6 和更低版本,但后来我想到了我可能不知道的所有其他浏览器也不会渲染,并且需要一些可以统治它们的浏览器出也。我不知道实现这一点的最佳方法,所以我对所有建议持开放态度。
$(document).ready (function horario () {
var date = new Date();
var weekday = (date.getDay());
if (weekday==0)
document.getElementById('horarios').src = "img/domingo.png";
else if (weekday==4)
document.getElementById('horarios').src = "img/quinta.png";
else if (weekday==5)
document.getElementById('horarios').src = "img/sexta.png";
else if (weekday==6)
document.getElementById('horarios').src = "img/sabado.png";
else
document.getElementById('horarios').src = "img/quarta.png";
});
【问题讨论】:
-
没有其他相关的浏览器不处理PNG透明度,只有IE6——你可以使用conditional comments为其运行特殊代码。
-
根据github.com/Modernizr/Modernizr/wiki/Undetectables,这是无法检测到的,您必须使用“丑陋”的解决方案之一,例如基于用户代理字符串、CSS hack 或条件 cmets 的检测。
标签: javascript png rendering browser-detection alpha-transparency