Про PngFix для IE6

Четверг, 28 мая 2009 22:17

ie6trashВот наткнулся недавно на еще одно средство, которое лечит IE6 от неприязни к полупрозрачным PNG. Называется оно  Jquery PngFix. Лично я всегда для этой цели использовал Pngfix взятый с twinhelix.com. Чем отличается от него Juery PngFix? В принципе возможности у них однаковые, за исключением того, что скрипт, сделанный на Jquery, требует подключения библиотеки Jquery. Вообще, мне стало интересно, а есть ли еще какие-нибудь скрипты для отображения полупрозрачных PNG в IE6. Немного погуглив, нашел целую кучу таких. Вот несколько примеров:

  1. http://labs.unitinteractive.com/unitpngfix.php
  2. http://allinthehead.com/retro/338/supersleight-jquery-plugin
  3. http://jquery.khurshid.com/ifixpng.php
  4. А вот здесь можно почитать как сделать такой скрипт на Jquery самому.

Выбирайте который вам по душе. Единственный их недостаток заключается в том, что они не умеют работать с background position и background repeat. Я как-то писал о PngFix v2.0 от twinhelix.com который лишен данного недостатка. Правда на данный момент он находится в стадии alpha-версии и неизвестно будет ли когда-нибудь финальный релиз. Но, все-таки думаю осторожненько его можно использовать.

Кто-то возможно скажет “оставьте уже в покое проклятый IE6, пусть умирает себе”. С этим пока нельзя согласится, так как на данный момент IE 6 занимает хоть и не лидирующее, но пока довольно значительное положение на рынке браузеров. По данным статистики LiveInternet в апреле 2009 года доля IE 6 составила 18.4%. Но, несмотря на это я надеюсь недалек тот день, когда можно будет забыть про PngFix и прочие таблетки для IE 6.

Ошибка Maximum exucution time в Wordpress

Вторник, 19 мая 2009 13:26

WordpressСегодня удалось таки решить проблему с Wordpress, которая последнее время начала очень сильно меня доставать. В феврале этого года мой блог переехал на другой хостинг. После чего я начал замечать, что иногда, при переходе по страницам блога и админки, открывался пустой экран.

Какой либо закономерности появления ошибки мне выявить не удалось - иногда сайт работал без сбоев, а бывало что, например, страницы админки открывались только раза с десятого. В логах сервера содержались представленные ниже 3 строчки, которые многократно повторялись:

[error] PHP Warning: unpack() [function.unpack]: Type V: not enough input, need 4, have 0 in dimonblog.ru/html/wp-includes/gettext.php on line 91

[error] PHP Warning: unpack() [function.unpack]: Type V: not enough input, need 4, have 0 in dimonblog.ru/html/wp-includes/gettext.php on line 91

[error] PHP Fatal error: Maximum execution time of 10 seconds exceeded in dimonblog.ru/html/wp-includes/streams.php on line 77

После обращения в службу поддержки хостинга выяснилось, что проблема, на самом деле, заключалась в последней строчке, а именно, в файле streams.php. Об этом можно почитать здесь или здесь. Интересно, что проблема довольно старая и наблюдалась в предыдущих версиях Wordpress. Разработчики знают о ней, но почему-то не хотят исправлять.

Решилось все установкой патча для файла streams.php который я нашел на блоге Lecactus. Для Wordpress версии 2.6.* и 2.7.* есть два варианта - патч1 и патч2 (мне помог первый вариант). В ФАКе есть также патчи для более ранних версий Wordpress.

UPDATE (20.05.09): Ситуация не исправлена. Снова начал появляться пустой экран. Странно то, что после замены файла streams.php все работало без проблем. В логах теперь только такая ошибка:

[error] PHP Fatal error: Maximum execution time of 10 seconds exceeded in dimonblog.ru/html/wp-includes/streams.php on line 77

Пробовал отключать плагины и использовать дефолтную тему - положительных результатов не дало. Служба поддержки хостинга разводит руками, уверяя, что у множества клиентов блоги работают на WP 2.7.1 и никто не сталкивался с подобной проблемой. Вот такие дела…

Я в Twitter

Суббота, 25 апреля 2009 11:45

TwitterТеперь и меня можно найти в твиттере. Буду сообщать там о новых постах в моем блоге, выкладывать интересные ссылки и просто делиться своими мыслями.

Для тех, кто еще не в курсе что такое твиттер, рассказываю: твиттер - это сервис микроблогов, позволяющый пользователям отправлять короткие текстовые заметки длинной до 140 символов. Сервис активно набирает популярность и среди русскоязычных пользователей, но к сожалению его интерфейс пока не переведен на русский язык (доступны только английский и японский). Но существует множество русских аналогов твиттера, среди которых можно выделить, например, активно развивающийся mblogi.qip.ru.

Параметр wmode для флешки

Среда, 4 марта 2009 0:47

Параметр wmode позволяет изменять режим внедрения флешки в веб-страницу. Зачем нам это может понадобиться? Для того чтобы перекрывать флешку слоями и прочими HTML-элементами страницы. Думаю, вы наверняка сталкивались с тем, что не могли разместить какой-либо элемент веб-страницы поверх флеш-ролика, даже изменяя порядок наложения с помощью z-index.

Дело в том, что если данный параметр не задан явно, то по умолчанию он принимает значение window. В этом режиме флешка размещается поверх всего HTML, не зависимо от ее положения в коде и порядка наложения, заданного через z-index.  Для того чтобы перекрыть флешку, необходимо задать для параметра wmode значение равным transparent или opaque.

  1. Режим opaque (непрозрачный), похож на режим window, с той лишь разницей, что в данном режиме можно перекрывать флешку HTML-слоями, используя z-index.
  2. В режиме transparent (прозрачный) у нас также есть возможность размещать HTML слои поверх флешки, но вдобавок к этому фон самого флеш-ролика может быть прозрачным. Тут нужно заметить, что данный режим может заметно тормозить работу флешки!

Задавать значения для wmode можно двумя способами. Как атрибут для тега embed или object:

<object wmode="transparent" ... />

Либо через тег parametr:

<object>
<parametr name="wmode" value="transparent" />
...
</object>

Описание параметра wmode можно также найти на сайте Adobe в справочной системе по Flash.

Резиновое меню

Воскресенье, 22 февраля 2009 18:33

Итак, перед нами стоит следующая задача: создать меню, которое бы тянулось по всей ширине родительского блока. То есть левый пункт меню должен прижиматься к левому краю, а правый к правому. Между пунктами меню должно быть одинаковое расстояние. Вобщем все должно выглядеть как на рисунке ниже.menu Читать запись полностью »