IE6过滤器alpha加载器png24冻结上下文

发布于 2024-07-28 04:02:11 字数 1044 浏览 2 评论 0原文

这对于很多人来说确实是一个不为人知的问题。 我会提出一个问题,并使其易于其他人访问,也许你们中的某个人知道这个问题的解决方案。

我们大家可能都知道 IE6 中的 PNG24 存在 alpha 透明度问题(网络上仍然有很多人使用......)。 至少有几个已知的解决方案可以解决这个问题,但它们都遇到了我想在这里描述的问题:

1.使用 progid:DXImageTransform.Microsoft.AlphaImageLoader:

这是使图像在 IE6 中显示的最常见技巧。 问题是它使用 DirectX 来显示它。 所以基本上DX首先需要从网络下载文件,然后渲染它。 此下载会暂时阻止浏览器上下文。 但是,如果您有大量图像 - 这意味着您的页面甚至可能被冻结......几分钟(碰巧至少有一个项目被挖掘一次)。

http://blogs.cozi.com/ tech/2008/03/transparent-pngs-can-deadlock-ie6.html http ://www.stum.de/2008/12/01/do-not-use-alphaimageloader-to-fix-transparent-pngs-in-ie6/

2.使用VML。

您也可以使用此解决方法。 然而,这会产生一个令人讨厌的效果,即在背景中渲染灰色框,然后渲染正确的图像,还会导致下载图像文件两次 - 但这可能是因为实施不良,因此需要检查。

3.使用PNG8。

忘记解决方案并尝试使用 PNG8,如果准备正确,仍然可以看起来不错。

如果有人知道任何其他解决方案,请在这里给出答案!

This is really unknown issue to many people. I would raise a question for it and make it easily accessible for other, and maybe someone of you know the solution for this problem.

All of us probably know that there is problem with alpha transparency in PNG24 in IE6 (still used by many people on web..). There are at least few known solutions how to solve that, but all of them got their problem that I would like to describe there:

1.Using progid:DXImageTransform.Microsoft.AlphaImageLoader:

This is most common trick to make images shown in IE6. Problem is that it uses DirectX to show it. So basically DX firstly need to download file from Net, then render it. This downloading block browser context for a while. But if you have alot of images - that means that you page can be freezed for even... few minutes (it happens to mine one project at least once).

http://blogs.cozi.com/tech/2008/03/transparent-pngs-can-deadlock-ie6.html
http://www.stum.de/2008/12/01/do-not-use-alphaimageloader-to-fix-transparent-pngs-in-ie6/

2.Using VML.

You can also use this workaround. However this has a nasty effect of rendering gray box in background, then a proper image, also causing to download image files twice - this however might be because of bad implementation so need to be checked.

3.Using PNG8.

Just forget about solutions and try use PNG8, if prepared correctly can still be looking good.

If anyone knows any other solution please give answer here!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文