Pull to refresh

Comments 37

Старые IE давно надо зарывать, а не писать кучу хаков для них. Microsoft уже и те не поддерживают старые версии.
Есть много причин, по которым могут понадобиться такие хаки.
При разработках софта, даже сейчас, рабочесть программы под XP — само собой разумеющееся.
А если программа отображает html страницы в себе? Компонент WebBrowser для .net, к примеру. Там от IE сложно куда-то деться. Только решать еще большие проблемы с интеграцией WebKit.
UFO landed and left these words here
Я тестил это дело на своем старом ноуте, у которого постоянно перегревается проц и снижается его частота.
Результат приемлимый и тормозов не заметил. Да, использование проца выше, чем обычно, но что поделаешь.
Есть проблема, есть решение, какое-никакое, но есть.
вы тестировали это изолировано или в составе веб-приложения?
Тестировал на одной html странице со 127 элементами в body. Фон подменялся для 4 элементов.
Катастрофически не хватает ссылок на репозитории на гитхабе.
Я автор одной из либ… Ссылки на собственные сайты тут нельзя оставлять, а я хочу, чтоб решение проблемы было в соответствующей теме, а не в разделе «Я пиарюсь».

Интересно, а в комментарии можно ссылки оставить?
Репозиторий на гитхабе — не сайт.
В данном случае второе быстрое решение — оно же и правильное.
Не тыкайте палочкой, пусть остынет.

Если действительно нужна поддержка старых браузеров, то тут вариант использовать верстку «старой школы» и применять Progressive Enhancement / Graceful Degradation, вместо навешивания десятков костылей.

Metafalica, а как себя ведут данные библиотеки с PNG (с прозрачностью) и соответственно с хаками на прозрачность?

Я лично выбрал для себя IE9.js
code.google.com/p/ie7-js/
Он устраняет (субъективно) порядка 95% проблем IE6-9, а то что не устраняет — решается в несколько строк CSS и Graceful Degradation.
Увы, я не знаю о чем ты спрашиваешь, насчет прозрачности.
PNG прозрачные в качестве фона так и остаются прозрачными при их подмене. Про хаки я ничего не знаю…
Я не веб разработчик. Лишь нелегкая заставила меня влезть в эту тему и запрогать одну из либ.

Не всегда деградация приемлима. Вот есть у нас в организации отдел дизайнеров, они рисуют интерфейс для обучающих курсов. Потом этот интерфейс одобряется заказчиком. Потом надо сделать курс именно таким. Ни о какой деградации и речи идти не может, иначе сразу посыпятся жалобы, мол «вы не сделали то», «вы не сделали это».
> PNG прозрачные в качестве фона так и остаются прозрачными при их подмене.
В ie6?!?!?!

> Потом надо сделать курс именно таким
Я вот не могу придумать зачем надо было бы делать background-size для ie6-8.
Покажите хоть один реальный пример.

В 99.99% случаев достаточно заранее подготовить кадрированный как надо фон. И для ie6-8 подключить отдельный стилевой файл. Это избавит от проблем описанных в статье и не будет неприятных сюрпризов.

Ваш же неви(е)данный случай подпадает под тот 0.01%, который мне не известен. Раскройте тайну, покажите пример.

Единственное с чем нельзя спорить — удобство использования. Но накладывает кучу ограничений.
Почти во всех описанных хаках есть недочет «Не поддерживает обновление рисунка при смене размера элементом (без смены размера окна)». Вы будете заказчика/клиента просить изменить размер окна?

Про хак с таймингов выше уже писали замечание.
Другие проблемы думаю и разбирать не стоит.

> Ни о какой деградации и речи идти не может, иначе сразу посыпятся жалобы
Если про жалобы от заказчика, то думаю это надо заранее оговаривать. Если от клиентов, то читаем выше.

ЗЫ На всякий случай предупрежу.
Своими комментариями я не осуждаю и тем более не пытаюсь заставить кого-то отказаться от данных хаков. Я, как выше уже писал, и сам пользуюсь ie9.js.
Я хочу понять целесообразность использования, насколько это оправдано. Особенно во времена, когда ie6-8 существуют за счет «аппарата искусственного дыхания».
Я прогер и делаю софтину для быстрой сборки курсов на основе блоков html (типа хтмл редактор, который оперирует виджетами (меню, панель с картинкой и надписью, галлерея, вопрос с множественным выбором, флеш вопрос и т.д. и т.п.))
Предназначен он для нулей в хтмл и js. Там просто девочки сидят и мышкой таскают виджеты, даже не зная что такое CSS.

Курсы должны пахать на XP в IE8. Мне, как прогеру, вовсе не интересно писать кучу говнокода, чтоб мой софт генерил еще более большую кучу говно-js-кода и разметки под разные браузеры.

Вот пример логотипа одного из курсов.
То, что нарисовали дизайнеры: filebeam.com/86c29e37ea955ddb60b437042adc99fd.jpg
То, что можно слепить в моем редакторе за несколько минут вообще не зная html и css, руководствуясь лишь правилами размещения «то в этот контейнер, это в тот»: filebeam.com/639881785d12f2d021f90aeead93d662.jpg
Курсы должны быть адаптивными и нормально смотреться на смартфонах, планшетах и компах с разными разрешениями, но… бутстрап тут не поможет. Очень уж любят разукрашивать курсы графикой некоторые фантазеры, и все переносы на новые строки, это не то.
Тем не менее, благодаря background-size: contain все картинки сжимаются и сохраняют пропорции. Не парюсь ни я, ни девочки курсоделы: filebeam.com/c125a5b374322c2c1296c76c6fac5785.jpg

Если же мне делать это не фоном, а картинкой? Ставим ширину в 100%, тогда для сохранения пропорций, она увеличится и в высоту, что приведет к появлению скролла. Это же приведет уже к неправильному размеру боковых картинок. Получится кака, в общем, а этого нам надо избегать… пережитки другой софтины, замену которой я делаю.

С background-size все очень просто и для меня, и для курсоделов.

IE6 я тестил только на правильность растягивания, а не на поддержку PNG. Даже не знал, что там какие-то проблемы. Сейчас нет под рукой, уже обновил до IE7, для тестов. Потом переставлю XP на гляну что будет.
Под логотипом вы подразумеваете заголовок?
И нас сильно беспокоят градиенты по краям, да? Но при этом остальные косяки мы не видим? Решается, в общем-то, первым вариантом (через фильтры) и его более чем достаточно.

Что касается всех остальных картинок, то тут решается всё позиционированием. И использовать основной контент, чем являются остальные картинки, это говнокод ещё тот.

> Мне, как прогеру, вовсе не интересно писать кучу говнокода, чтоб мой софт генерил еще более большую кучу говно-js-кода и разметки под разные браузеры.

Но при этом ударим говнокодом, чтобы мало не показалось!

В общем, этот пример не лезет в 0.01%, ибо это элементарные незнания темы (верстки) и непродуманная структура работы приложения.

Да и приведенный пример дизайна очень сильно отличается от результата.
> Что касается всех остальных картинок, то тут решается всё позиционированием. И использовать основной контент, чем являются остальные картинки, это говнокод ещё тот.

Ваш вариант в уме проще и короче, чем сгенерить "<div style = 'width = 100%; height: 100%; background-image: instruments.png; background-position: center center; background-repeat: no-repeat; background-size: contain;'">? Речь идет о картинке с инструментами.

То что пример дизайна отличается от результата, это да. Редактор все еще в разработке.
Зачем делать самописную прогу?
Есть же CourseLab, Articulate StoryLine и другие.
Второй точно поддерживает мобайл и в нём можно получить прекрасные интерактивные курсы.
Или вы не нашли подходящего варианта на рынке?
У тех нет нужных возможностей.
У меня будут сетевые курсы, для работы в классе. Тогда курсы являются клиентами, а у препода сервер, который контролирует какой раздел прочитал студент и т.д. Препод может заставить клиента показать какую-то инфу… Сбор отчетов о тесте.
Планирую встраивать java applet в курсы, чтоб он общался по сети с кем надо.
А как же всякие СДО (LMS)?
Уже есть поддержка SCORM и различные выгрузки отчётов с правами и разными сотрудниками.
Можете поставить демку WebTutor и посмотреть насколько прост и дружелюбен интерфейс + можно еще свой функционал допилить (проверено — делал).
Экспорт в SCORM тоже будет из моего редактора, но начальству реально нужны сетевые версии для классов. Это их основной продукт и ничто другое не дает таких возможностей.

Но демку все же заценю, на всякий случай :)
Стоп, это ж курс лаб… я его уже видел.
Я про что вам и говорю: это клиент-серверное приложение. На сервак закачиваете курсы, админ или преподавать может из списка в БД выбрать и назначить студенту какой-то курса, количество попыток и прочее. Все достижения сотрудника складываются в базу.
Есть встроенные опросы, форумы, права доступа, группы.
Я не рекламирую, но чего еще вам не хватает чтобы пилить свою систему?
Начальству еще очень важно, чтобы сразу над одним курсом могли работать много челов.
Как в нынешней ихней проге Hyperservice, сделанной ими самими.
Челов 5 открывает один и тот же проект и делают его.

В курс лабе так нельзя, мы даже связывались с ними, могут ли они сделать такую возможность для нас, но они отказались.
А может быть дело в том, что я не шарю в html и css и не знаю, как сделать аналогичные вещи, проще чем с background-size для меня и тех, кто будет эти курсы делать.
Нелегкая очень непредсказуемая штука…
Может тогда стоит изучить эту область, а не делать очередной WYSIWYG редактор начала 2000х годов, не разобравшись чего он штампует на выходе?
На разработку софтины год, некогда изучать. Пошел наиболее удобным способом.
То что он штампует на выходе нравится начальству. В конечном счете, юзера получат курсы, и им неважно как они были сделаны, если они есть и работают.
Надеюсь немного будет курсов, как ранее представленный, а то не дай бог на выходе получится тоже что и у Вас… без рук и ног :)
UFO landed and left these words here
Тем не менее ответа на поставленный ранее вопрос это не даёт :)
Это без хаков на прозрачность, а как с ними — не знаю, ибо не пользуюсь.
C хаками прозрачность пашет, а вот background-size — нет. Неважно что установлено, фон растягивается на 100% 100% и искажается при смене размера окна.
UFO landed and left these words here
Где же были эти либы лет пять назад… кучу нервов сэкономил бы.
Sign up to leave a comment.

Articles