Я установила скрипт просмотра галерей Lightbox2.0.4 . Во всех браузерах работает отлично, но только не в ИЕ6. У меня в ИЕ6 подключен вот этот PngFix. И все мои пнг-картинки прозрачны как и полагается. Но как только я подключаю код для установки Lightbox, сразу же Ие6 кричит, что он Dosn't support this object or property, и все пнг теряют прозрачность. Ошибку указывает на строку подключения PngFix. HTML: <script type="text/javascript"> $(document).ready(function(){ $(document).pngFix(); <!-- ИЕ6 говорит, что ошибка здесь --> }); </script> <script type="text/javascript" src="js/prototype.js"></script> <script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script> <script type="text/javascript" src="js/lightbox.js"></script> <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" /> Если код подключения lightbox убрать, то PngFix опять корректно работает. Кто-нибудь сталкивался с подобной задачей? Как можно решить этот конфликт?
Я не сильна в Js, но удалось выяснить, что конфликт происходит лишь со строчками [js]clone: function(source, target, options) { options = options || { }; return Element.clonePosition(target, source, options); }[/js] Но как это лечить совершенно не понятно.
Попробуй png для IE6 делать через фильтры без ява скрипта и всякой дряни, я сам ставил Lightbox и у меня он работал нормально!!!!. Да, это херня из за jquery может быть, а вот как это совместить, я не знаю, так что вот так вот
Elkaz, да. IE6. Заказчик требует, чтобы сайт был валидным и для старых браузеров. Тут не поспоришь. V1T, посоветуйте, пожалуйста, какой-нить фильтр для png.
Это не просто желание валидности, это дизайн. А у нормальных людей дизайн везде более-менее одинаков, те кто ставят пометочку "сайт корректно работает только в Опере 9.1 билд 2045 ENG от 12 августа" - неудачники а что за pngfix? Это? Код (Text): function correctPNG() { for(var i=0; i<document.images.length; i++) { var img = document.images[i] var imgName = img.src.toUpperCase() if (imgName.substring(imgName.length-3, imgName.length) == "PNG") { var imgID = (img.id) ? "id='" + img.id + "' " : "" var imgClass = (img.className) ? "class='" + img.className + "' " : "" var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' " var imgStyle = "display:inline-block;" + img.style.cssText if (img.align == "left") imgStyle = "float:left;" + imgStyle if (img.align == "right") imgStyle = "float:right;" + imgStyle if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" img.outerHTML = strNewHTML i = i-1 } } } window.attachEvent("onload", correctPNG);
Если загрузишь большую картинку 5000x5000 например, и при нажатии на её миниатюрку он откроет картинку в оригинале - 5000x5000 - т.е. в полный размер, и вот тебе скролируй полдня. Они бы выставили max width для больших изображений. Или я просто не заметил этого? Есть или нет эта опция?