программирование
Opera 10.x и border-radius
Вадим Макеев упомянул в «Ярушке» интересное о новых версиях «Оперы»:
Opera будет поддерживать
border-radius уже в 10.x версии, очень вероятно, чтогде-то в начале будущего года (…)Я уже давно тестирую версию, которая работает
с border-radius, border-image, box-shadow, transform… и ещё десятком вещей из черновика CSS 3, что интересно — без префиксов. Это всё будет в движке Presto 2.4, который сейчас встроен во внутренние беты с индексом 10.x.Ничего прямо вот так обещать не могу, но некоторую вероятность высказал выше, имея в виду финальные стабильные версии.
На эту тему я уже, кстати, давал цитату.
Уязвимость WackoWiki
На прошлой неделе нашёл
Repcached — memcached с репликацией
Понадобилось реплицировать memcached, балансер ставить — слишком дорого для нашей задачи, в поиске нашёлся repcached, будем пробовать. Это патч для memcached 1.2.x. Асинхронная репликация multi master.
GIF plain text extension
В формате GIF89 есть забавное поле — «plain text extension», заброшенное и никем не используемое. Настолько заброшенное, что для него делали специальное соответствующее поле в формате PNG, для совместимости, но потом объявили его «deprecated».
Как будет в точности выглядеть GIF с этим полем мне неизвестно, думаю, зависит от программы. По идее, оно должно выводить моноширинный семибитный (никакого Unicode) текст.
Насилу нашёл редактор, который умеет создавать GIF с таким полем, но, увы, ни один из браузеров не умеет правильно показывать содержимое такого GIF. Некоторые браузеры не умеют показывать его даже неправильно — выводят пиктограмму ошибочно загруженной картинки (например, IE, Opera 8.xx/9.xx, Safari и другие).
Понятно, что extension совершенно бесполезный,
P.S. Для тестирования браузеров я использовал сервис BrowserShots.
Добавлено 6 октября 2009 14:40: почти все браузеры показывают изображение в котором есть ещё хоть
HTML5: события offline и online
На сайте JavaScript.ru появилась статья о новых событиях в JavaScript — offline и online (реализованы в Firefox 3.5 и Internet Explorer 8.0). Цитирую выводы:
Эти события никак не связаны с подключением к сети интернет и к сайту.
Они триггерятся при переходе по клику пользователя в автономный режим и обратно.
Они также триггерятся, когда отключаются все сетевые адаптеры, или подключается хотя бы один. При этом не важно, ведет ли он в реальный интернет.
Firefox глючит, в отличие от IE
JavaScript split
Азат Разетдинов подкинул хорошую ссылку на сайте XRegExp по поводу особенностей реализации метода split
Загадки JavaScript
alert('a###a'.split(/#/))
alert('a###a'.split('#'))Самое главное, мне непонятно — зачем это так сделано?
Chrome Internet Explorer
Ребята из Google выпустили плагин Google Chrome Frame для Internet Explorer (поддерживаются IE6+), который позволяет переключать движок этого браузера со стандартного на WebKit. Если плагин установлен, то следующая конструкция
<meta http-equiv="X-UA-Compatible" content="chrome=1">Google обо всём побеспокоился, можно даже показать пользователю окно с просьбой установить Google Chrome Frame, если он ещё не установлен.
P.S. Говорил же Стив Балмер, что в Internet Explorer возможно будет WebKit! Никак пророчествовал? :)
P.P.S. Строка
P.P.P.S. Google Chrome Frame добавляет специальную схему «cf», например, этот сайт можно открыть плагином, если написать следующий адрес: «cf://bolknote.ru».
IE и HTML5
Ребята из Microsoft пообещали реализовать теги VIDEO и AUDIO в своём браузере. Интересно, что Microsoft просит W3C задуматься о расширении синтаксиса тегов, чтобы, например, можно было предоставить пользователю возможность просматривать (прослушивать) контент не только в разных кодеках, но и с разным качеством и/или на разных языках (!).
border-radius и «Опера»
Although Opera 10 has just been released, the Opera Core team has not been sitting idly while the Desktop team were at work. The next version of the rendering engine; Opera Presto 2.3 is already finished (including the likes
of border-radius, box-shadow (including the spread value and inset keyword), and friends, and Opera Presto 2.4 is under heavy development. It already is and will be an exciting time for CSS 3.
В следующей «Опере» будет
nginx, IE и gzip
Моё исследование (проведённое для книги, которую мы пишем) по проблемам реализации сжатия в браузерах принесло счастье пользователям nginx:
0.8.11 Изменение: теперь директива «gzip_disable msie6» не запрещает сжатие для MSIE 6.0 SV1.
Списался с Игорем Сысоевым и с версии 0.8.11 nginx не отключает
FTPd.js работает под Opera 10.00 RC
Случайно обнаружил, что
LiveConnect — это придуманный фирмой Netscape для их браузера Netscape 4.xx (удобный) способ скрещивания различных плагинов и JavaScript, в частности, можно вызывать из JavaScript Java и наоборот. Насколько я понимаю, после смерти браузера Netscape, наследниками технологии LiveConnect стали FireFox
А вот под новыми браузерами FireFox мой сервер не работает — не хватает полномочий. Мне, если честно, не хочется разбираться что там ещё надо запрашивать.
Yandex.ru.
Две ссылки: http://yandex.ru и http://yandex.ru. Я не знал, что так можно. Век живи, век учись. Кстати, FireFox 3.5 загружает всё правильно, но конечную точку отрубает, поэтому после перезагрузки страница меняется.
Такой молодой Python
Moikrug и hcard
Пару недель назад при помощи Сергея Белова удалось убедить команду «Моего круга» сделать в профиле пользователя hCard. Теперь у меня на сайте пользователи, авторизующиеся через «Мой круг», отображаются с юзерпиками и именем с фамилией.
К сожалению, пришлось отказаться от стороннего сервиса, который разбирает hCard (он не работает с кодировками отличными
P.S. Хочу сказать очередное спасибо моему хостеру — фирме «Докер», когда библиотеке для парсинга hCard понадобился модуль tidy, они его очень быстро поставили.
Недокументированный PHP
Решил собрать все недокументированные конструкции и возможности языка PHP, которые я знаю, в одном месте.
Переменные с числовым именем
$var = '123';
$$var = 'test';
var_dump(get_defined_vars());Команда list для строк (работает не во всех версиях PHP)
list($a, $b) = 'HI';
echo $a, $b;Доступ к приватным свойствам через массив
class smth
{
private $prop = 'test';
}
$obj = new smth();
$arr = (array) $obj;
echo $arr["\0smth\0prop"];arr[] в аргументах функции
function add(&$var)
{
$var = 'element';
}
$arr = array();
add($arr[]);
var_dump($arr);Может вы
Safari: как из текстового поля сделать поле для ввода пароля
Как говорится «хозяйке на заметку».
У WebKit (браузер Safari) есть
Это помогает обойти не очень (на мой взгляд) удобное ограничение Mac OS, что в поле пароля нельзя вводить русские буквы. У меня некоторые пароли содержат символы в двух раскладках.
Microsoft шутит?
В принципе, если Apple за уши притягивает результаты тестирования своего браузера и искажает факты, то почему бы Microsoft не заняться тем же? Но я всё равно шокирован:
Myth #4: Internet Explorer doesn’t play well with Web standards.
The Real Deal: Internet Explorer 8 passes more of the World Wide Web Consortium’s test cases than any other browser
Такие дела. Сравнивается с Mozilla Firefox и Google Chrome (Opera традиционно игнорируется в буржуинском сегменте, Safari нет по непонятным мне причинам).
Opera 10.00 прикидывается Opera 9.80
It appears that a considerable amount of browser sniffing scripts are not quite ready for this change to double digits, as they detect only the first digit of the user agent string: in such a scenario, Opera 10 is interpreted as Opera 1. This results in sites mistakenly identifying Opera 10 as an unsupported browser, thereby breaking server, as well
as client-side scripts.
С Dev.Opera. Краткий перевод: значительная часть скриптов, определяющих версию браузера, не расчитана на версию в две цифры (OMG!), поэтому «Opera/10.00» превращается у них в «Opera/1»: они просто забирают первую цифру.
Chromium 3: тег VIDEO
Вчера вышел очередной билд
А более меня поражает чем так полюбился разработчикам тег VIDEO. Из всего стандарта, кажется, это второе (первое — CANVAS), что стремятся реализовать в браузере. Opera и Safari реализовали, в FireFox 3.5 этот тег тоже уже есть. И вот теперь есть Chromium с поддержкой VIDEO. Я удивился, когда узнал, что IE8 вышел без него (тем более, что аналогичный тег там уже есть — IMG, он умеет проигрывать видео).
Правда по форматам видео полный разброд (вот что значит недописанный стандарт!): Opera и FireFox выбрали Theora, Safari — QuickTime, а Chromium — H.264.