За последние 24 часа нас посетили 49982 программиста и 1733 робота. Сейчас ищут 736 программистов ...

PngFix vs Lightbox2.0.4 in IE6

Тема в разделе "Вопросы от блондинок", создана пользователем Tigrish, 2 июл 2009.

  1. Tigrish

    Tigrish Активный пользователь

    С нами с:
    26 июл 2008
    Сообщения:
    54
    Симпатии:
    0
    Я установила скрипт просмотра галерей Lightbox2.0.4 . Во всех браузерах работает отлично, но только не в ИЕ6. У меня в ИЕ6 подключен вот этот PngFix. И все мои пнг-картинки прозрачны как и полагается. Но как только я подключаю код для установки Lightbox, сразу же Ие6 кричит, что он Dosn't support this object or property, и все пнг теряют прозрачность. Ошибку указывает на строку подключения PngFix.

    HTML:
    1.  
    2. <script type="text/javascript">
    3.         $(document).ready(function(){
    4.             $(document).pngFix();    <!-- ИЕ6 говорит, что ошибка здесь -->
    5.         });
    6.     </script>
    7.  
    8. <script type="text/javascript" src="js/prototype.js"></script>
    9. <script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
    10. <script type="text/javascript" src="js/lightbox.js"></script>
    11. <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
    Если код подключения lightbox убрать, то PngFix опять корректно работает.

    Кто-нибудь сталкивался с подобной задачей? Как можно решить этот конфликт?
     
  2. Tigrish

    Tigrish Активный пользователь

    С нами с:
    26 июл 2008
    Сообщения:
    54
    Симпатии:
    0
    Я не сильна в Js, но удалось выяснить, что конфликт происходит лишь со строчками
    [js]clone: function(source, target, options) {
    options = options || { };
    return Element.clonePosition(target, source, options);
    }[/js]
    Но как это лечить совершенно не понятно.
     
  3. V1T

    V1T Активный пользователь

    С нами с:
    7 окт 2008
    Сообщения:
    311
    Симпатии:
    0
    Адрес:
    Крым
    Попробуй png для IE6 делать через фильтры без ява скрипта и всякой дряни, я сам ставил Lightbox и у меня он работал нормально!!!!. Да, это херня из за jquery может быть, а вот как это совместить, я не знаю, так что вот так вот :D
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
  5. Tigrish

    Tigrish Активный пользователь

    С нами с:
    26 июл 2008
    Сообщения:
    54
    Симпатии:
    0
    Elkaz, да. IE6. Заказчик требует, чтобы сайт был валидным и для старых браузеров. Тут не поспоришь.


    V1T, посоветуйте, пожалуйста, какой-нить фильтр для png.
     
  6. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    Это не просто желание валидности, это дизайн. А у нормальных людей дизайн везде более-менее одинаков, те кто ставят пометочку "сайт корректно работает только в Опере 9.1 билд 2045 ENG от 12 августа" - неудачники :)

    а что за pngfix? Это?
    Код (Text):
    1.  
    2. function correctPNG()
    3.    {
    4.    for(var i=0; i<document.images.length; i++)
    5.       {
    6.       var img = document.images[i]
    7.       var imgName = img.src.toUpperCase()
    8.       if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
    9.          {
    10.          var imgID = (img.id) ? "id='" + img.id + "' " : ""
    11.          var imgClass = (img.className) ? "class='" + img.className + "' " : ""
    12.          var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
    13.          var imgStyle = "display:inline-block;" + img.style.cssText
    14.          if (img.align == "left") imgStyle = "float:left;" + imgStyle
    15.          if (img.align == "right") imgStyle = "float:right;" + imgStyle
    16.          if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle      
    17.          var strNewHTML = "<span " + imgID + imgClass + imgTitle
    18.          + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
    19.          + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
    20.          + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
    21.          img.outerHTML = strNewHTML
    22.          i = i-1
    23.          }
    24.       }
    25.    }
    26. window.attachEvent("onload", correctPNG);
     
  7. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Ну лень смотреть почему IE его неправильно отображает :)))
     
  8. Mark32

    Mark32 Активный пользователь

    С нами с:
    15 июн 2008
    Сообщения:
    539
    Симпатии:
    2
    Если загрузишь большую картинку 5000x5000 например, и при нажатии на её миниатюрку он откроет картинку в оригинале - 5000x5000 - т.е. в полный размер, и вот тебе скролируй полдня. Они бы выставили max width для больших изображений. Или я просто не заметил этого? Есть или нет эта опция?