如何获得一个js png修复程序来处理ajax调用

时间:2009-07-29 17:14:57

标签: javascript jquery ajax png

我们使用js进行png替换,我们还对其中一些元素进行了ajax更新。当页面片段更新时,png修复程序会丢失,因为png修复程序遍历dom并在文档加载时替换png bg图像。有没有办法在ajax更新发生时呈现png替换,而不是仅在document.onload上?我们正在使用jquery。

4 个答案:

答案 0 :(得分:1)

你在使用行为吗?

如果您使用的是iepngfix.htc,则可以尝试设置内联行为

var myEl = document.getElementById('inbound-ajax-element');
myEl.style.behavior = 'url(iepngfix.htc)';

http://www.twinhelix.com/css/iepngfix/demo/

答案 1 :(得分:1)

你应该看看jQuery IE PNG Fix Plugin

jQuery(function($) {
    $("img[@src$=png], #image-one, #image-two").pngfix();
});

您应该在刚装入的图像上运行此功能。

答案 2 :(得分:0)

http://abcoder.com/javascript/ie6-png-alpha-transparency-fix-for-dynamically-loaded-images-via-ajax/

上面的链接提供了一个将PNG修复程序附加到图像的onload事件的示例,例如:

    new_img.onload = function(){
    ti.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + timg_src + "', sizingMethod='scale')";
    ti.setAttribute('src', 'blank.gif');}

答案 3 :(得分:0)

它丢失的原因是pngfix不是连续应用的东西,它在页面加载时应用于存在的项目,因此如果你更改其中一个或创建新的png,则不会应用pngfix。

因此,在您创建图像的javascript中,您需要通过将pngfix应用于该项目来进行跟进。

javascript的外观取决于您使用的是哪种pngfix。这里还有其他答案,给出了添加新图像后应用的示例。