如何修复 js png 以便在 ajax 调用上工作

发布于 2024-07-30 04:25:47 字数 168 浏览 4 评论 0原文

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

we're using js to do png replacement, and we also have ajax updates on some of these elements. when the page fragment gets updated, the png fix gets lost, since the png fix traverses the dom and replaces png bg images when the document loads. is there a way to render the png replacement when the ajax update takes place, rather than only on document.onload? we're using jquery.

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

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

发布评论

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

评论(4

扎心 2024-08-06 04:25:47

你在使用行为吗?

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

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

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

Are you using behavior?

If you are using iepngfix.htc, you might try setting the behavior inline

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

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

梦幻之岛 2024-08-06 04:25:47

你应该看看这里 jQuery IE PNG Fix Plugin

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

你应该在你刚刚的图像上运行它已加载。

You should take a look here jQuery IE PNG Fix Plugin

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

You should run this on the images you just loaded.

dawn曙光 2024-08-06 04:25:47

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');}

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

The link above provides an example that attaches the PNG fix to the image's onload event, for example:

    new_img.onload = function(){
    ti.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + timg_src + "', sizingMethod='scale')";
    ti.setAttribute('src', 'blank.gif');}
方圜几里 2024-08-06 04:25:47

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

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

javascript 的外观取决于您使用的 pngfix 类型。 这里还有其他答案,其中举例说明了添加新图像后要应用的内容。

The reason it gets lost is that the pngfix is not something that is applied continually, it is applied on page load to the items present, and so if you change one of them or create new png's the pngfix will not be applied.

So in your javascript where you create the image, you need to follow it up by applying the pngfix to that item.

How that javascript will look is dependent on what kind of pngfix you're using. There are other answers here which give examples of what to apply after you add the new image.

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