как получить исправление js png для работы с вызовами ajax - PullRequest
1 голос
/ 29 июля 2009

мы используем js для замены png, а также у нас есть обновления ajax для некоторых из этих элементов. при обновлении фрагмента страницы исправление png теряется, поскольку исправление png проходит через dom и заменяет изображения png bg при загрузке документа. Есть ли способ визуализации замены png при обновлении ajax, а не только в document.onload? мы используем jquery.

Ответы [ 4 ]

1 голос
/ 29 июля 2009

Вы должны посмотреть здесь jQuery IE PNG Fix Plugin

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

Вы должны запустить это на только что загруженных изображениях.

1 голос
/ 29 июля 2009

Вы используете поведение?

Если вы используете iepngfix.htc, вы можете попытаться установить встроенное поведение

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

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

0 голосов
/ 30 июля 2009

Причина, по которой он теряется, заключается в том, что pngfix - это не то, что применяется непрерывно, а при загрузке страницы к имеющимся элементам, и поэтому, если вы измените один из них или создадите новый png, pngfix не будет применен.

Таким образом, в вашем javascript, где вы создаете изображение, вам нужно следить за ним, применяя pngfix к этому элементу.

Как будет выглядеть этот javascript, зависит от того, какой pngfix вы используете. Здесь есть и другие ответы, в которых приведены примеры того, что применять после добавления нового изображения.

0 голосов
/ 29 июля 2009

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

Ссылка выше предоставляет пример, который прикрепляет исправление PNG к событию загрузки изображения, например:

    new_img.onload = function(){
    ti.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + timg_src + "', sizingMethod='scale')";
    ti.setAttribute('src', 'blank.gif');}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...