недавно я обнаружил приятную особенность Opera Mobile, имеющую отношение именно к новомодным семантическим тегам. Заметил я её прямо на этом блоге. Дело в том, что занимающий где-то треть страницы блок навигации обёрнут в nav, находящийся прямо в body. Опера обнаруживает это, и делает вполне справедливый вывод: посетителю интересно в первую очередь содержание, а не навигация. Поэтому она сразу масштабирует страницу так, чтобы показать именно содержание. Заметьте: безо всяких там meta name="viewport"! Конечно, при этом сохраняется возможность прокрутить страницу вправо и увидеть-таки навигацию.
проще всего увидеть это, запустив эмулятор Opera Mobile, уменьшив его горизонтальный размер, например, до 500px, и зайдя в этот блог.
можно представить, как при посещении новостного сайта всякие шапки и левые-правые меню будут уходить за пределы окна, и видна будет только сама статья. Я, пожалуй, уже хочу это в десктопной версии оперы : )
насколько я знаю, ни в одном другом браузере ещё нельзя отлаживать пользовательские скрипты полноценным отладчиком, а не alert'ами. А в Opera Dragonfly уже можно. Виват! : )
с удивлением обнаружил RFC 3106, которая среди прочего предлагает унифицировать имена полей в формах, в которые мы вводим данные кредитных карт. Нечто похожее существует в спеке openid: поле для идентификатора в ней просят всегда называть "openid_identifier". А здесь имена типа "Ecom_Payment_Card_Number".
подозреваю, что из браузеров это пока поддерживает только хром. Думаю, что доля веб-программистов, знающих об этом, и действительно называющих поля таким образом, ещё меньше.
интересно, как всё-таки нужно знакомиться со стандартами, чтобы не упускать такие интересные вещи? Неужели просто читать все RFC подряд, начиная с самых свежих?
я в очередной раз решил пободаться с проверкой орфографии в системе. Вернее, в опере и пиджине, больше я нигде много текста не пишу. Коротко:
удалить aspell, myspell, ispell со словарями (но не библиотеками, от которых могут зависеть многие другие программы) — что-то из этого может ставиться по умолчанию, и загромождать список словарей
переименовать словарь в enru.zip и положить его в $HOME/.opera/dictionaries
перезапустить оперу, в многострочном поле ввода в контекстном меню выбрать Dictionaries → «English-Русский (с ё)»
создать папку $HOME/.config/enchant/myspell, в которую распаковать словарь (в новой убунте ещё и переименовать из enru. в используемую локаль, например, en_US.)
перезапустить пиджин (и гажим)
если подробнее, то разных спеллчекеров в линуксе уже штук восемь. Кто-то справедливо решил, что так жить нельзя, и сделал для них общую обёртку Enchant. Именно её использует GtkSpell, которой пользуются Pidgin и Gajim. Но Pidgin ещё не умеет выбирать словарь по умолчанию, поэтому должен остаться только один словарь — двуязычный. Именно поэтому удаляются aspell, ispell и myspell (и другие установленные спеллчекеры) вместе со своими словарями. libhunspell, наверное, нужен для того, чтобы Enchant мог прочитать формат этого словаря.
сейчас большинство браузеров уже поддерживают localStorage, и можно довольно смело его использовать для хранения данных на клиенте. Но каков размер этого хранилища? Спецификация говорит про «случайно выбранное ограничение в 5 мегабайт». Но не всё так просто.
большинство приложений будет хранить не байты, а символы. Абсолютное большинство символов даже в utf-8 занимает два байта. Некоторые реализации используют utf-16, которая использует два байта даже для ascii-символов.
каждый производитель браузеров принял своё решение. Chrome ограничивает размер базы именно пятью мегабайтами. Firefox позволяет хранить около 5 миллионов символов. Explorer — чуть меньше 5 миллионов. И только Opera уже сейчас при достижении предела просто предлагает пользователю выделить побольше места для приложения — вплоть до всего диска!
скорее всего, эти ограничения будут меняться со временем. Чтобы в любой момент можно было легко проверить актуальные ограничения, я сделал тест квоты на количество данных в localStorage.