Just Blog about nothing

16Март/12Off

Обрабатываем переход страницы в активное состояние в Safari для iOS

Обрабатываем переход страницы в активное состояние в Safari для iOS

В HTML5 появились новые атрибуты событий (подробнее), в том числе для объекта window такие атрибуты как onpageshow и onpagehide.

  • onpageshow - скрипт будет запущен когда окно становится видимым;
  • onpagehide - скрипт будет запущен когда окно скрывается.

В Safari для iOS, если пользователь не закрыл Вашу страницу, а отправил приложение в фон (нажав кнопку home), а затем снова открыл Safari, то сработает обработчик onpageshow. Таким образом можно отследить переход в активное состояние вашей страницы или Web-приложения для iPad, iPhone или iPod Touch.

21Окт/11Off

Photoshop блокирует ESC fix

Photoshop блокирует ESC fix

При использовании Photoshop CS4 под Windows 7 возникла следующая проблема: когда запущен Photoshop, то во всей системе перстаёт работать клавиша Escape. Проблема в плагинах - Automate, Extensions и Measurements. Если их отключить (можно просто переместить из папки Plug-ins в корневой директории Photoshop), то Esc начинает работать нормально. Вопрос об исправлении бага при использовании этих плагинов остаётся открытым.

P.S. Есть мнение, что после каких-то действий в Photoshop глюк снова проявляется, несмотря на отключенные плагины.

27Сен/11Off

Тест на производительность отрисовки html5 canvas браузером

Тест на производительность отрисовки html5 canvas браузером

Пара ссылок на тесты производительности canvas

26Сен/11Off

box-shadow и border-radius в Android 3

box-shadow и border-radius в Android 3

Стандартный браузер у планшетных компьютеров с ОС Android 3 некорректно обрабатывает внутреннюю тень (-webkit-box-shadow: inset ...) в сочетании с закруглёнными углами (border-radius), добавляя фон без скруглённых уголков.

Метки записи: , Нет комментариев
26Сен/11Off

Ориентация экрана в Android 3

Ориентация экрана в Android 3

У планшетных компьютеров с установленной ОС Android 3.0 и выше (в частности речь идет о Samsung Galaxy Tab) свойство window.orientation имеет значение 0 в нормальной альбомной ориентации, т.к. именно альбомная ориентация является для таких планшетов основной.

17Сен/11Off

JavaScript событие поворота устройства iOS и Android

JavaScript событие поворота устройства iOS и Android

При повороте устройства браузер отсылает событие orientationchange. Это актуально для обеих операционных систем. Но подписка на это событие может осуществляться по разному. При проверке на разных устройствах iPhone, iPad и Samsung GT (Android), выяснилось что в iOS срабатывает следующий вариант установки обработчика:

window.onorientationchange = handler;

А для Android подписка осуществляется иначе:

window.addEventListener( 'orientationchange', handler, false );

Примечание: В обоих примерах handler - функция-обработчик

Текущую ориентацию экрана можно узнать проверкой свойства window.orientation, принимающего одно из следующих значений:

  • 0 — нормальная портретная ориентация
  • -90 — альбомная при повороте по часовой стрелке
  • 90 — альбомная при повороте против часовой стрелки
  • 180 — перевёрнутая портретная ориентация (пока только для iPad)

Для iOS 4.2 и выше есть более широкие возможности по отслеживанию точных углов наклона устройства в трёхмерном пространстве, а также некоторые другие плюшки гироскопа и акселерометра. Если интересно: документация на сайте Apple по событиям DeviceOrientationEvent и DeviceMotionEvent, статья на Хабрахабр.

17Сен/11Off

Автоматическое изменение размеров текста в iOS

Автоматическое изменение размеров текста в iOS

Safari для устройств с iOS (iPhone, iPod touch и iPad) автоматически регулирует размеры текста, даже если вы отключили scale для страницы с помощью тега viewport. Это может приводить к изменению размеров текста, например при повороте устройства. Для управления фичей служит css свойство -webkit-text-size-adjust, которое может принимать значения none | auto | %value. Соответственно, чтобы отключить регуляцию размеров текста браузером, достаточно задать свойству значение none:

-webkit-text-size-adjust:none;
Метки записи: , , , , , Нет комментариев
17Сен/11Off

Подсветка активных ссылок и кнопок на Android

Подсветка активных ссылок и кнопок на Android

Браузер Android выделяет кнопки, ссылки и другие интерактивные элементы при касании оранжевым прямоугольником. Часто возникает задача стилизовать или убрать эту подсветку. Свойство outline здесь не работает, необходимо использовать свойство -webkit-tap-highlight-color. Если надо убрать подсветку - можно использовать

-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
Метки записи: , , Нет комментариев
10Сен/11Off

HTML5 Canvas описание API

HTML5 Canvas описание APIHTML5

Наткнулся в Интернете на хорошую картинку, описывающую все методы и свойства API CanvasRenderingContext2D для рисования на HTML5 Canvas.

Взято с http://blog.nihilogic.dk

2Июнь/11Off

Ошибка при выполнении multi_query

Ошибка при выполнении multi_query

Для соединения с MySQL я использую расширение mysqli и однажды столкнулся со странной проблемой. При выполнении следующего запроса после multi_query (insert и update) мне упорно возвращалась ошибка:

Commands out of sync; you can't run this command now

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

$mysqli->multi_query( $query );

// это мы избавляемся от ошибки
// Commands out of sync; you can't run this command now
// при выполнении следующего запроса после multi_query
while( $this->next_result() );

http://php.net/manual/en/mysqli.multi-query.php

Social Widgets powered by AB-WebLog.com.