Обрабатываем переход страницы в активное состояние в Safari для iOS
Обрабатываем переход страницы в активное состояние в Safari для iOSВ HTML5 появились новые атрибуты событий (подробнее), в том числе для объекта window
такие атрибуты как onpageshow
и onpagehide
.
onpageshow
- скрипт будет запущен когда окно становится видимым;onpagehide
- скрипт будет запущен когда окно скрывается.
В Safari для iOS, если пользователь не закрыл Вашу страницу, а отправил приложение в фон (нажав кнопку home), а затем снова открыл Safari, то сработает обработчик onpageshow
. Таким образом можно отследить переход в активное состояние вашей страницы или Web-приложения для iPad, iPhone или iPod Touch.
Photoshop блокирует ESC fix
Photoshop блокирует ESC fixПри использовании Photoshop CS4 под Windows 7 возникла следующая проблема: когда запущен Photoshop, то во всей системе перстаёт работать клавиша Escape. Проблема в плагинах - Automate, Extensions и Measurements. Если их отключить (можно просто переместить из папки Plug-ins в корневой директории Photoshop), то Esc начинает работать нормально. Вопрос об исправлении бага при использовании этих плагинов остаётся открытым.
P.S. Есть мнение, что после каких-то действий в Photoshop глюк снова проявляется, несмотря на отключенные плагины.
Тест на производительность отрисовки html5 canvas браузером
Тест на производительность отрисовки html5 canvas браузеромПара ссылок на тесты производительности canvas
box-shadow и border-radius в Android 3
box-shadow и border-radius в Android 3Стандартный браузер у планшетных компьютеров с ОС Android 3 некорректно обрабатывает внутреннюю тень (-webkit-box-shadow: inset ...
) в сочетании с закруглёнными углами (border-radius
), добавляя фон без скруглённых уголков.
Ориентация экрана в Android 3
Ориентация экрана в Android 3У планшетных компьютеров с установленной ОС Android 3.0 и выше (в частности речь идет о Samsung Galaxy Tab) свойство window.orientation
имеет значение 0 в нормальной альбомной ориентации, т.к. именно альбомная ориентация является для таких планшетов основной.
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, статья на Хабрахабр.
Автоматическое изменение размеров текста в iOS
Автоматическое изменение размеров текста в iOSSafari для устройств с iOS (iPhone, iPod touch и iPad) автоматически регулирует размеры текста, даже если вы отключили scale для страницы с помощью тега viewport
. Это может приводить к изменению размеров текста, например при повороте устройства. Для управления фичей служит css свойство -webkit-text-size-adjust
, которое может принимать значения none | auto | %value
. Соответственно, чтобы отключить регуляцию размеров текста браузером, достаточно задать свойству значение none
:
-webkit-text-size-adjust:none;
Подсветка активных ссылок и кнопок на Android
Подсветка активных ссылок и кнопок на AndroidБраузер Android выделяет кнопки, ссылки и другие интерактивные элементы при касании оранжевым прямоугольником. Часто возникает задача стилизовать или убрать эту подсветку. Свойство outline
здесь не работает, необходимо использовать свойство -webkit-tap-highlight-color
. Если надо убрать подсветку - можно использовать
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
HTML5 Canvas описание API
HTML5 Canvas описание API
Наткнулся в Интернете на хорошую картинку, описывающую все методы и свойства API CanvasRenderingContext2D для рисования на HTML5 Canvas.
Взято с http://blog.nihilogic.dk
Ошибка при выполнении 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() );