ЙажаСценарий / Говнокод #8783 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
function fixPNG(element)
{
  if(/MSIE (5\.5|6).+Win/.test(navigator.userAgent)){
    var src;
    src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
	
    if(src){
      src = src[1];
      element.runtimeStyle.backgroundImage = "none";
    }
	
    if(src){
      element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src = '" + 
	    src + "',sizingMethod = 'scale')";
	}
  }
}

Запостил: shlyapa shlyapa, (Updated )

Комментарии (8) RSS

  • ух ты, прозрачность в стиле msie5\6
    я когда-то так glow эффект делал
    Ответить
  • почти нормальный фикс, говна здесь нет. с IE6 только так и боролся, если страница с прозрачными png динамически генерировалась.

    делал так
    function fix_png(element,sizing_method){
    if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)){
    var src;
    if (element.tagName=='IMG'){
    var a_width=element.width;
    var a_height=element.height;
    if (/\.png$/.test(element.src)){
    src=element.src;
    element.src="/design/images/blank.gif";
    element.width=a_width;
    element.height=a_height;
    }
    }
    else{
    src=element.currentStyle.backgroundImage .match(/url\("(.+\.png)"\)/i);
    if (src){
    src=src[1];
    element.runtimeStyle.backgroundImage="no ne";
    }
    }
    if(src)element.runtimeStyle.filter="prog id:DXImageTransform.Microsoft.AlphaImage Loader(src='"+src+"',sizingMethod='"+siz ing_method+"')";
    }
    }

    плюс вот такая шляпень в css для ie6
    .filtered_image{
    filter:expression(fix_png(this,'image')) !important;
    }
    .filtered_scale{
    filter:expression(fix_png(this,'scale')) !important;
    }

    да. и еще однопиксельный прозрачный gif нужон. потом просто класс прописывал у нужных элементов
    Ответить
  • Ну и что тут такого? Потребовал заказчик добавить поддержку IE6, пришлось такое докрутить.
    Ответить
    • Да с заказчиками которые требуют поддержку IE6 надо соглашатся,разговаривать тихо а то мало ли может он из буйных, а после звонить в больничку и сказать, что их сбежавший пацент нашелся. А то ищут не бойсь.
      Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8