2

我的问题是关于jQuery 支持系统。

我想知道是否可以使用此方法判断浏览器是否支持半透明背景 PNG 图像。

编辑:我对特定问题的 CSS 解决方案不感兴趣。我想知道 jQuery 支持检查系统是否可以检查这个。我很欣赏这些建议,但我正在尝试找出有关supportjQuery 功能的特定信息。

4

5 回答 5

3

我不使用Js来做这种事情......

我用

.png24 {
  background-image: url(png24.png);
}

/* ie6 */
* html .png24 {
 background-image: url(non-png24.png);

}

jQuery 已弃用 jQuery 1.3 中的浏览器检查。我不确定他们什么时候会完全删除它。

我强烈建议将此检查留给 CSS 和/或条件样式表

在 JS 中没有办法在不检查浏览器的情况下检查支持 alpha 透明度的能力。

于 2009-05-22T01:19:43.037 回答
2

我认为这根本不可能,毕竟即使IE6显示透明png,它只是不显示透明度;所有浏览器都“支持”png,因此您无法检查。

如果您可以获取页面上特定像素的颜色,当然可以,但似乎不可能做到。

另请参阅Javascript - 从画布元素下的图像中获取像素数据?

于 2009-05-22T03:39:20.263 回答
1

也许你可以只使用jQuery pngFixjQuery ifixpng

如果这些都不行,我建议改为查看条件注释,如MSDN中所述。

于 2009-05-22T01:26:11.277 回答
1

我想我理解你在 TM 之后的意思,因为我正在尝试做类似的事情:如果支持 alpha PNG,请使用 jQuery 插入一个 PNG。否则,什么也不做。

我能想到的唯一解决方案是使用 jQuery 插入 DIV。然后,在 CSS 中,您将 DIV 的 background-iamge 设置为您想要使用的 PNG,然后使用条件注释来为 IE6 提供透明 gif。

我还没有尝试过,但它应该可以解决问题。

于 2010-02-07T13:05:10.133 回答
0

用 javascript 修复 png 是不好的做法。你最终会得到一闪而过的无样式内容。CSS 和条件注释会是更好的选择。

你可以使用alex的方法。

于 2009-05-22T01:48:59.220 回答